Skip to main content

Tycoon Menu

Tycoon Control Panel (menu à vues)

Ouvre le panneau de contrôle Tycoon — un menu unique piloté par le système de vues génériques de GUIExtension ([MenuViewSupport]). ### Contrat côté page - Le layoutPool contient un frame (celui de [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 bestiary_content pour la frame content de la vue bestiary). - Les slots d'onglet portent le tag view:<viewId> : le socle y branche gui:view <viewId> et applique [btc.renaud.gui.api.ViewActiveStyle] quand la vue — ou l'une de ses descendantes — est active. Plus aucun surlignage codé en dur. - Les boutons de contenu gardent le préfixe tycoon_button: résolu par [TycoonButtonResolverLayout], branché via le paramètre decorate de la résolution. Une cible d'ouverture s'écrit "<viewId>" ou "<viewId>:<argument>" (par exemple "research:reptiles") : l'argument est transmis au résolveur de contenu, jamais interprété comme un id de vue. Avec [views] vide, aucune résolution de vue n'a lieu : le pool est parsé à plat.

Fields

FieldTypeDefaultDescription
inventoryTitleVar<String><dark_green>✦ Zoo TycoonTitre du menu. Chaque vue peut le remplacer par son propre titre.PlaceholdersColors
inventoryRowsInt6Nombre de lignes (1-6).
guiTypeGuiTypeCUSTOMType de GUI.
layoutPoolList<LayoutData>emptyPool de layouts (frame racine + bandeaux + contenu par vue).
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}.Colors
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.
Common TypeWriter fields (criteria, modifiers, triggers)
FieldTypeDefaultDescription
criteriaList<Criteria>empty—
modifiersList<Modifier>empty—
triggersList<Ref<TriggerableEntry>>empty—

How to use it​

See the Menus section of the extension page for the structure (layoutPool, views, tycoon_button: buttons, view:<viewId> tabs). The menu opens the last view the player used when an action reopens the screen, so panel actions return to where the player was. Open it from a command entry or any trigger.