Перейти к основному содержимому

Btcsky Menu

BTC Sky Menu

Entrée d'action qui ouvre le panneau de contrôle de l'île. Le menu est piloté par le système de vues génériques de GUIExtension ([MenuViewSupport]) : une seule entrée déclare tous ses écrans dans [views], et le socle résout, pour la vue active, le layout de chaque frame dont le layoutId vaut @view. ### Contrat côté page - Le layoutPool contient un frame (celui désigné par [mainLayoutId], ou à défaut le premier frame du pool) dont les frames à contenu variable portent layoutId = "@view". - Chaque vue déclare son layout via frames["<frameId>"], ou par la convention "<viewId>_<frameId>" (donc island_content pour la frame content de la vue island). - Les slots d'onglet portent le tag view:<viewId> (buttonPrefix = "view:") : le socle y branche gui:view <viewId> et applique [ViewActiveStyle] quand la vue — ou l'une de ses descendantes — est active. Aucun surlignage n'est codé en dur ici. - Les boutons de contenu gardent le préfixe btcsky_button: résolu par [BtcSkyButtonResolverLayout], branché via le paramètre decorate de la résolution. ### Sous-vue avec argument Une cible d'ouverture s'écrit "<viewId>" ou "<viewId>:<argument>" (par exemple "collection_detail:mining"). L'argument n'est pas un identifiant de vue : il est transmis tel quel au résolveur de contenu, et la vue collection_detail déclare simplement parentId = "collection" pour hériter du bandeau d'onglets et garder l'onglet parent allumé. Avec [views] vide, aucune résolution de vue n'a lieu : le pool est parsé à plat depuis [mainLayoutId], exactement comme un menu sans onglets.

Поля

ПолеТипПо умолчаниюОписание
inventoryTitleVar<String><dark_gray>✦ Menu de l'ÎleTitre du menu. Chaque vue peut le remplacer par son propre titre.ПлейсхолдерыЦвета
inventoryRowsInt6Nombre de lignes (1-6).
guiTypeGuiTypeCUSTOMType de GUI.
layoutPoolList<LayoutData>emptyPool de layouts.
mainLayoutIdString?—Layout racine. Vide = le premier layout 'frame' du pool.
audioGuiAudioData—Audio.
viewsList<MenuViewData>emptyÉcrans adressables de ce menu. Les frames en '@view' et les slots taggés 'view:<id>' se résolvent contre la vue active.
defaultViewIdString?—Vue ouverte en premier. Vide = la première vue déclarée.
breadcrumbSeparatorStringDEFAULT_BREADCRUMB_SEPARATORSéparateur MiniMessage inséré entre les segments du fil d'Ariane par le token {breadcrumb}.Цвета
baseMenuIdString—Entree open_gui servant de chassis partage : son layoutPool et ses vues fusionnent sous les notres (meme id = la notre gagne).
pushHistoryOnViewSwitchBooleanfalseEmpiler la vue précédente dans l'historique lors d'un changement d'onglet. Désactivé par défaut : changer d'onglet est une navigation latérale.
Общие поля TypeWriter (criteria, modifiers, triggers)
ПолеТипПо умолчаниюОписание
criteriaList<Criteria>empty—
modifiersList<Modifier>empty—
triggersList<Ref<TriggerableEntry>>empty—

How to use it​

See the Menus section of the extension page. The menu entry opened by the Contracts Table must have the id control_panel. Declare each screen in views, tag tab slots view:<viewId>, and give content items a buttonType such as btcsky_button:ISLAND_INFO. Available types include ISLAND_INFO, DIMENSION, UPGRADE_ENTRY, WARP_ENTRY, MEMBER_ENTRY, CONTRACT_ENTRY, RESEARCH_BRANCH_ENTRY, RESEARCH_NODE_ENTRY, EXPANSION_CHUNK, COLLECTION_CATEGORY_ENTRY, RANKING_ENTRY, COMBAT_STATS and BORDER_INFO.