Aller au contenu principal

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.

Champs

ChampTypePar défautDescription
inventoryTitleVar<String><dark_gray>✦ Menu de l'ÎleTitre du menu. Chaque vue peut le remplacer par son propre titre.PlaceholdersCouleurs
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}.Couleurs
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.
Champs TypeWriter communs (criteria, modifiers, triggers)
ChampTypePar défautDescription
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.