Zum Inhalt

construction_menu

Quelle: base/tealdef/gui/construction/construction_menu.d.tl

Hinweise

Gemeinsame Typen des Baumenüs: Reiter und Kategorien des Menüs, Menüeinträge (ConstructionDefinition), ihre Parameter (ConstructionMenuParam), die Parameter-API des Menüs, die Konfiguration der HUD-Icons und eigene Werkzeugaktionen.

ConstructionMenu

enum global base/tealdef/gui/construction/construction_menu.d.tl:3

global enum ConstructionMenu

Hinweise

Hauptreiter des Baumenüs. Menükategorien (menu_category-Ressourcen) nennen den Reiter, zu dem sie gehören.

Wert Beschreibung
"ROAD" Gebäude und Werkzeuge für den Straßenverkehr (Stationen, Depots; Kategorien road_buildings, road_tools, road_assets).
"RAIL" Bahngebäude (Kategorie rail_buildings).
"WATER" Gebäude, Werkzeuge und Assets für den Schiffsverkehr.
"AIR" Gebäude, Werkzeuge und Assets für den Luftverkehr.
"ROADS" Straßen und Straßenwerkzeuge (Kategorien roads_small, roads_medium, roads_large, roads_country, roads_highway, roads_tools, street_constructions).
"TRACKS" Gleise, Signale und Bahnwerkzeuge (Kategorien tracks, rail_signals, rail_tools, rail_constructions, rail_assets).
"WAREHOUSE" Lager (Kategorie warehouses).
"PERKS" Unternehmensboni (Kategorien perks_mechanics, landmarks, prospections).
"LANDSCAPING" Gelände, Boden, Vegetation, Assets und Stadtgebäude (Kategorien landscaping_*, town_buildings_*).
"TOWN" Stadtwerkzeuge (Kategorie town_tools).
"INDUSTRY" Industrien (Kategorien industries, industries_assets).
"BULLDOZER" Der Bulldozer.
"MODULES" Module einer modularen Konstruktion (Kategorien modules_*).
"MODULE_BULLDOZER" Der Modul-Bulldozer.

ConstructionMenuCategory

record global base/tealdef/gui/construction/construction_menu.d.tl:20

global record ConstructionMenuCategory

Hinweise

Daten einer menu_category-Ressource, ein Unterreiter eines Reiters im Baumenü.

Beispiel

-- base/content/gui/gui/construction/menu/modules_categories/landing.res.lua
function data()
    return {
        type = "menu_category",
        data = {
            category = "modules_landing",
            order = 4000,
            name = _("Landing"),
            icon = resolve("landing.tga"),
            menu = "MODULES",
        }
    }
end

Felder

Name Typ Beschreibung
category string Id der Kategorie. Menüeinträge verweisen mit menuCategory.categories[].category darauf.
menu ConstructionMenu Reiter des Baumenüs, in dem die Kategorie erscheint.
name string Angezeigter Name der Kategorie.
icon ResName Icon des Kategoriereiters.
order integer Sortierschlüssel innerhalb des Reiters (aufsteigend). Kategorien ohne order folgen danach, nach Namen sortiert.

ConstructionAvailability

record global base/tealdef/gui/construction/construction_menu.d.tl:28

global record ConstructionAvailability

Hinweise

Jahre, in denen ein Eintrag im Baumenü verfügbar ist.

Felder

Name Typ Beschreibung
yearFrom integer Erstes Jahr, in dem der Eintrag verfügbar ist. 0 heißt ohne Untergrenze.
yearTo integer Jahr, ab dem der Eintrag nicht mehr verfügbar ist. 0 heißt ohne Obergrenze.

ConstructionMenuParamsAPI

record global base/tealdef/gui/construction/construction_menu.d.tl:33

global record ConstructionMenuParamsAPI

Hinweise

API der Parameterliste des Baumenüs (Seitenfenster oder untere Leiste). Parameter-Callbacks wie ConstructionMenuParam.onChangeFn bekommen sie übergeben.

Details

Parameterwerte werden pro Kategorie-Index gespeichert. Parameter mit preserveValueInAllCategories liegen unter dem Kategorie-Index -1.

Funktionen

setActiveDefinition(definition : ConstructionDefinition, category : integer, categoryId : string) : {string : number} base/tealdef/gui/construction/construction_menu.d.tl:34

Hinweise

Macht eine Definition zur aktiven, setzt bei Bedarf Parameter mit resetOnCategoryChange/resetOnDefinitionChange zurück und gibt die daraus folgenden Parameterwerte zurück.

Parameter Typ Beschreibung
definition ConstructionDefinition Menüeintrag, der aktiviert wird.
category integer Index der Kategorie (Reiter).
categoryId string Id der Kategorie. Bei "bulldozer" und "module-bulldozer" wird das Zurücksetzen der Kategorie aufgeschoben, bis eine andere Kategorie gewählt wird.

Rückgabe {string : number}: Parameterwerte nach Schlüssel.

getParamsForDefinition(definition : ConstructionDefinition, category : integer) : {string : number} base/tealdef/gui/construction/construction_menu.d.tl:35

Hinweise

Berechnet die Parameterwerte, die eine Definition in einer Kategorie bekäme, ohne sie zu aktivieren.

Rückgabe {string : number}: Parameterwerte nach Schlüssel.

getStoredValues(category : integer) : {string : number} base/tealdef/gui/construction/construction_menu.d.tl:36

Hinweise

Gibt die gespeicherten Parameterwerte einer Kategorie zurück.

Parameter Typ Beschreibung
category integer Kategorie-Index oder -1 für Werte, die in allen Kategorien gelten.

Rückgabe {string : number}: Werte nach Parameterschlüssel oder nil, wenn keine gespeichert sind.

changeParam(index : integer, value : number) base/tealdef/gui/construction/construction_menu.d.tl:37

Hinweise

Setzt den Wert eines Parameters der aktiven Definition.

Parameter Typ Beschreibung
index integer Position des Parameters in der aktuellen Parameterliste.
value number Neuer Wert (Index der Option oder Wert des Schiebereglers).

setParamDisabled(index : integer, disabled : boolean) base/tealdef/gui/construction/construction_menu.d.tl:38

Hinweise

Deaktiviert oder aktiviert einen Parameter zusätzlich zu seiner eigenen checkEnabledFn. Wird zurückgesetzt, wenn eine andere Definition aktiviert wird.

Parameter Typ Beschreibung
index integer Position des Parameters in der aktuellen Parameterliste.
disabled boolean true deaktiviert den Parameter.

isParamActive(key : string) : boolean base/tealdef/gui/construction/construction_menu.d.tl:39

Hinweise

Gibt an, ob der Parameter mit dem angegebenen Schlüssel für die aktive Definition existiert und weder verborgen noch deaktiviert ist.

Rückgabe boolean

getParam(index : integer) : ConstructionMenuParam base/tealdef/gui/construction/construction_menu.d.tl:40

Hinweise

Gibt den Parameter an einer Position der aktuellen Parameterliste zurück oder nil.

Rückgabe ConstructionMenuParam

getCategory() : integer base/tealdef/gui/construction/construction_menu.d.tl:41

Hinweise

Gibt den Index der aktuellen Kategorie zurück.

Rückgabe integer

getParamByKey(key : string) : ConstructionMenuParamInfo base/tealdef/gui/construction/construction_menu.d.tl:42

Hinweise

Sucht einen Parameter der aktiven Definition über seinen Schlüssel.

Rückgabe ConstructionMenuParamInfo: Seine Position, seine Definition und sein aktueller Wert oder nil, wenn die aktive Definition keinen solchen Parameter hat.

updateVisibility() base/tealdef/gui/construction/construction_menu.d.tl:43

Hinweise

Zeigt oder verbirgt das Parameterfenster, je nachdem, ob es Parameter anzuzeigen gibt (ohne Wirkung bei der unteren Leiste).

getCurrentParams() : {string : number} base/tealdef/gui/construction/construction_menu.d.tl:44

Hinweise

Gibt die aktuellen Parameterwerte nach Schlüssel zurück.

Rückgabe {string : number}

onInfoPopupVisibilityChange(visible : boolean) base/tealdef/gui/construction/construction_menu.d.tl:45

Die Spieldateien enthalten hierzu noch keine Beschreibung.

ConstructionMenuParam

record global base/tealdef/gui/construction/construction_menu.d.tl:48

global record ConstructionMenuParam

Hinweise

Ein Parameter eines Eintrags im Baumenü, angezeigt im Parameterfenster oder in der Werkzeugleiste.

Details

ConstructionReactUtil.convertScriptParamsToMenuParams wandelt die Skriptparameter von Konstruktionsbeschreibungen in diesen Typ um. Eingebaute Werkzeuge erzeugen ihn direkt. Der Wert eines Parameters ist ein Index in values (oder numbers), der bei 1 beginnt.

Felder

Name Typ Beschreibung
key string Schlüssel des Parameters in der Tabelle der Parameterwerte.
name string Angezeigter Name.
tooltip string Tooltip des Parameters.
values {string} Angezeigte Werte (oder Bildpfade bei Icon-Knöpfen), einer pro Option.
numbers {number} Zahlenwerte für Schieberegler-Parameter, verwendet statt values.
defaultIndex Index Index des Standardwerts.
uiType ScriptParamType Widget-Typ des Parameters.
iconStyle ScriptParamUtil.ParamForUi.IconStyle
location ScriptParamLocation Wo der Parameter erscheint (Parameterfenster oder Werkzeugleiste).
displayMode ScriptParamDisplayMode Anzeigemodus des Parameter-Widgets.
yearFrom integer Erstes Jahr, in dem der Parameter verfügbar ist. 0 heißt ohne Untergrenze.
yearTo integer Jahr, ab dem der Parameter nicht mehr verfügbar ist. 0 heißt ohne Obergrenze.
group string Name der Gruppe. Aufeinanderfolgende Parameter derselben Gruppe stehen zusammen, zwischen den Gruppen steht ein Trenner.
tooltips {string} Tooltip pro Wert.
hideLabel boolean Blendet die Beschriftung des Parameters aus.
resetOnCategoryChange boolean Setzt den Wert auf den Standard zurück, wenn die Kategorie wechselt.
resetOnMenuClose boolean Setzt den Wert auf den Standard zurück, wenn sich das Baumenü schließt.
resetOnDefinitionChange boolean Setzt den Wert auf den Standard zurück, wenn ein anderer Eintrag gewählt wird.
preserveValueInAllCategories boolean Ein gespeicherter Wert gilt für alle Kategorien (gespeichert unter Kategorie -1).
constructionParam boolean Kennzeichnet einen Parameter der Konstruktion selbst. Nur solche Parameter gehen an den Konstruktions-Builder. Bei allen umgewandelten Skriptparametern gesetzt.
id string

Funktionen

new() : ConstructionMenuParam base/tealdef/gui/construction/construction_menu.d.tl:49

Hinweise

Erstellt eine neue, leere Instanz von ConstructionMenuParam.

Rückgabe ConstructionMenuParam

onChangeFn(newValue : number, paramsApi : ConstructionMenuParamsAPI, oldValue? : number) base/tealdef/gui/construction/construction_menu.d.tl:76

Hinweise

Wird aufgerufen, nachdem sich der Wert des Parameters geändert hat.

checkEnabledFn(params : {string : number}) : ConstructionMenuParam.CheckEnabledResult base/tealdef/gui/construction/construction_menu.d.tl:77

Hinweise

Entscheidet anhand der aktuellen Parameterwerte, ob der Parameter aktiviert, deaktiviert oder verborgen ist. Bei Skriptparametern ruft sie das checkEnabledScript des Parameters auf.

Rückgabe ConstructionMenuParam.CheckEnabledResult

makeCompactButtonFn(value : number) : TreeNodeId base/tealdef/gui/construction/construction_menu.d.tl:78

Hinweise

Erzeugt den kompakten Knopf für einen Wert. Bei Skriptparametern mit images zeigt er das passende Bild.

Rückgabe TreeNodeId

formatValueFn(value : number) : string base/tealdef/gui/construction/construction_menu.d.tl:79

Hinweise

Formatiert einen Wert für die Anzeige. Bei Skriptparametern ruft sie formatValueScript auf.

Rückgabe string

getImageFn(value : integer) : string base/tealdef/gui/construction/construction_menu.d.tl:80

Hinweise

Gibt den Bildpfad für einen Wert zurück.

Rückgabe string

stepValueFn(value : number, direction : integer, precise : boolean) : number base/tealdef/gui/construction/construction_menu.d.tl:81

Hinweise

Gibt den nächsten Wert zurück, wenn der Parameter in Richtung direction weitergeschaltet wird (Tastenbelegung oder Gamepad). precise ist gesetzt, solange die Präzisionstaste gehalten wird. Bei Skriptparametern ruft sie stepValueScript auf, sonst schaltet sie durch die Werte.

Rückgabe number

getFilterObjectsFn() : {MenuCategoryUtil.FilterObject}, integer base/tealdef/gui/construction/construction_menu.d.tl:83

Hinweise

Gibt die wählbaren Objekte (und den Standardindex) eines Objektfilter-Parameters zurück, etwa den Brücken-, Tunnel- oder Bahnübergangstyp beim Bau von Straßen und Gleisen.

Rückgabe {MenuCategoryUtil.FilterObject}, integer

ConstructionMenuParam.CheckEnabledResult

enum base/tealdef/gui/construction/construction_menu.d.tl:69

enum CheckEnabledResult

Hinweise

Ergebnis von checkEnabledFn, der Zustand eines Parameters bei den aktuellen Parameterwerten.

Im Basisspiel verwendet: 37-mal in 2 Dateien

base/content/gui/gui/construction/construction.tl:1463

local refDisabledParams = react.useRef({}) as ReactRefT<{ConstructionMenuParam.CheckEnabledResult}>
base/content/gui/gui/construction/construction_react_util.tl:658
checkEnabledFn? : (function(params : {string : number}) : ConstructionMenuParam.CheckEnabledResult), defaultUnderground? : boolean) : ConstructionMenuParam

Wert Beschreibung
"Enabled" Sichtbar und bedienbar.
"Hidden" Nicht sichtbar.
"Disabled" Sichtbar, aber nicht bedienbar.
"InputActionOnly" Nicht in der Parameterliste sichtbar. Das Basisspiel nutzt es für Parameter, die sich nur über Eingabeaktionen ändern lassen (zum Beispiel den Radiermodus des Pinsels).

ConstructionMenuParamInfo

record global base/tealdef/gui/construction/construction_menu.d.tl:97

global record ConstructionMenuParamInfo

Hinweise

Ein Parameter der aktiven Definition mit seiner Position und seinem aktuellen Wert, wie ihn ConstructionMenuParamsAPI.getParamByKey zurückgibt.

Felder

Name Typ Beschreibung
index integer Position in der aktuellen Parameterliste (für changeParam).
param ConstructionMenuParam Der Parameter.
value number Sein aktueller Wert.

ConstructionMenuAction

enum global base/tealdef/gui/construction/construction_menu.d.tl:103

global enum ConstructionMenuAction

Hinweise

Art der Aktion, die ein Eintrag im Baumenü startet. Bestimmt, welche eingebaute Bauaktion konfiguriert wird.

Wert Beschreibung
"ACTION_CONSTRUCTION_BUILDER" Platziert eine Konstruktion (constructions, optional constructionTemplate).
"ACTION_STREET_BUILDER_UPGRADER" Baut Straßen oder rüstet sie auf.
"ACTION_STREET_TERMINAL_BUILDER" Platziert eine Kantenobjekt-Konstruktion (Straßenhaltestelle) auf einer Straße.
"ACTION_BUS_LANE_TOOL" Busspur-Werkzeug (rüstet Straßen mit Busspuren auf).
"ACTION_TRAM_TRACK_TOOL" Tramgleis-Werkzeug (rüstet Straßen mit Tramgleisen auf).
"ACTION_PLAYER_OWNED_TOOL" Sperren-Werkzeug (markiert Straßen als gesperrt und als Spielereigentum).
"ACTION_TRAFFIC_LIGHT_TOOL" Verkehrsampel-Werkzeug (schaltet Verkehrsampeln an Kreuzungen ein oder aus).
"ACTION_LANE_MODIFIER_TOOL" Kreuzungs-Werkzeug (ändert Straßen- und Tramspuren an Kreuzungen).
"ACTION_CROSSWALK_MODIFIER_TOOL" Fußgängerstreifen-Werkzeug (schaltet Fußgängerstreifen ein oder aus).
"ACTION_TRACK_BUILDER_UPGRADER" Baut Gleise oder rüstet sie auf.
"ACTION_TRACK_ELECTRIFICATION_TOOL" Elektrifizierungs-Werkzeug (versieht Gleise mit Oberleitung).
"ACTION_TRACK_EDGE_DECORATION_TOOL" Bringt eine Kantendekoration (resIndex) an Gleisen an.
"ACTION_TERRAIN_MODIFIER_SMOOTH_TOOL" Werkzeug „Gelände glätten“.
"ACTION_TERRAIN_MODIFIER_FLATTEN_TOOL" Werkzeug „Gelände planieren“.
"ACTION_TERRAIN_MODIFIER_RAISE_TOOL" Werkzeug zum Anheben des Geländes.
"ACTION_TERRAIN_MODIFIER_LOWER_TOOL" Werkzeug zum Absenken des Geländes.
"ACTION_TERRAIN_MODIFIER_HEIGHTMAP_TOOL" Werkzeug „Gelände zerklüften“ (verändert das Gelände mit einer Heightmap-Textur).
"ACTION_TERRAIN_PAINTER" Malt ein Geländematerial (resIndex, 0 ist der Radiergummi).
"ACTION_ASSET_BRUSH" Pinsel, der Assets wie Bäume, Pflanzen und Felsen platziert oder entfernt.
"ACTION_TOWN_BUILDER" Städtebau-Werkzeug.
"ACTION_TOWN_BUILDER_EXPERIMENTAL" Experimentelles Städtebau-Werkzeug.
"ACTION_BULLDOZER" Der Bulldozer.Im Spiel Bulldozer · Konstruktionen entfernen und das Gelände bearbeiten. · UntergrundIm Code: Bulldozer · Remove constructions and terraform the terrain. · Underground
"ACTION_MODULE_BUILDER" Platziert ein Modul einer modularen Konstruktion.
"ACTION_MODULE_BULLDOZER" Entfernt Module.Im Spiel BulldozerIm Code: Bulldozer
"ACTION_MARKETING" Bonus Marketingkampagne.
"ACTION_ECO_INDUSTRY" Bonus Industriebegrünung.
"ACTION_PROSPECTION" Bonus Prospektion.
"ACTION_CUSTOM"

ConstructionActionCustomHudIcons

enum global base/tealdef/gui/construction/construction_menu.d.tl:134

global enum ConstructionActionCustomHudIcons

Hinweise

Zusätzliche HUD-Icons, die eine Bauaktion anzeigen kann.

Wert Beschreibung
"MAINTENANCE_STATION" Zeigt den Fortschrittsbalken des Wartungspools an Fahrzeugdepots, die einen Wartungspool haben.

ConstructionActionHudIconStationType

enum global base/tealdef/gui/construction/construction_menu.d.tl:138

global enum ConstructionActionHudIconStationType

Hinweise

Beschränkt die HUD-Icons von Stationen auf Güter- oder Passagierstationen.

Wert Beschreibung
"CARGO" Nur Güterstationen.
"PASSENGER" Nur Passagierstationen.

ConstructionActionHudIconConstructionType

enum global base/tealdef/gui/construction/construction_menu.d.tl:143

global enum ConstructionActionHudIconConstructionType

Hinweise

Beschränkt die HUD-Icons von Stationen und Depots auf einen Verkehrsträger.

Wert Beschreibung
"ROAD" also includes TRAM
"TRAM" Tramstationen und -depots.
"RAIL" Bahnstationen und -depots.
"WATER" Häfen und Schiffsdepots.

ConstructionActionHudIconParams

record global base/tealdef/gui/construction/construction_menu.d.tl:150

global record ConstructionActionHudIconParams

Hinweise

Benutzerparameter des HUD-Icon-Masters, der läuft, solange eine Bauaktion aktiv ist.

Felder

Name Typ Beschreibung
defaultIcons {Engine.ComponentType} Komponententypen, deren Entitäten HUD-Icons bekommen (gefüllt aus ConstructionActionHudIcons.componentTypes).
customIcons {ConstructionActionCustomHudIcons} Weitere Icons, die angezeigt werden.
stationType ConstructionActionHudIconStationType Zeigt Stations-Icons nur für Stationen dieses Typs.
constructionType ConstructionActionHudIconConstructionType Zeigt Icons von Stationen und Depots nur für diesen Verkehrsträger.
depotType ConstructionActionHudIconConstructionType Verkehrsträger-Filter für Depots. Hat bei Depots Vorrang vor constructionType.
showPerksAndTowns boolean Zeigt statt der Standard-Icons nur Stadt-Icons und die eigenen HUD-Icons von Wahrzeichen-Konstruktionen (hudIconScript).

Funktionen

accessNotificationCacheFn(entity : Engine.Entity) : {Notification} base/tealdef/gui/construction/construction_menu.d.tl:156

Hinweise

Gibt die Benachrichtigungen einer Entität zurück (aus dem Spielkontext).

Rückgabe {Notification}

ConstructionActionHudIcons

record global base/tealdef/gui/construction/construction_menu.d.tl:160

global record ConstructionActionHudIcons

Hinweise

Konfiguration der HUD-Icons eines Eintrags im Baumenü. Konstruktionsbeschreibungen setzen sie über configureHudIconsScript.

Beispiel

-- base/content/gui/gui/construction/construction_desc_hud_icons.script.tl
configureIndustryHudIconsFn = function() : ConstructionActionHudIcons
    return {
        componentTypes = {
            api.type.ComponentType.INDUSTRY,
            api.type.ComponentType.TOWN,
        },
    }
end,

Felder

Name Typ Beschreibung
componentTypes {Engine.ComponentType} Komponententypen, deren Entitäten HUD-Icons zeigen, solange die Aktion aktiv ist.
showDistricts boolean default nil/false -- note: true is only working, when componentTypes contains TOWN!!
showTownBorders boolean default nil/false -- note: true is only working, when componentTypes contains TOWN!!
showPerksAndTowns boolean default nil/false -- note: true is only working, when componentTypes contains TOWN!!
params ConstructionActionHudIconParams Zusätzliche Parameter für den HUD-Icon-Master.

ConstructionCustomActionParams

record global base/tealdef/gui/construction/construction_menu.d.tl:168

global record ConstructionCustomActionParams<P>

Hinweise

Parameter, die an das Recipe einer eigenen Bauaktion (ConstructionDefinition.customAction) gehen.

Felder

Name Typ Beschreibung
gameCtx GameContext Spielkontext.
definition ConstructionDefinition Der Menüeintrag, zu dem die Aktion gehört.
customParam P Der customParam der eigenen Aktion.
isActive boolean Ob die Aktion gerade aktiv ist.

Funktionen

abort() base/tealdef/gui/construction/construction_menu.d.tl:173

Hinweise

Bricht die Aktion ab.

setActionFn(fn : (function() : TreeNodeId), key2? : string) base/tealdef/gui/construction/construction_menu.d.tl:174

Hinweise

Bindet die Funktion, die den Baumknoten der Aktion erzeugt (zum Beispiel einen ActionDescriptor), an den Menüeintrag. key2 kennzeichnet die gebundene Funktion.

getCurrentParams() : {string : number} base/tealdef/gui/construction/construction_menu.d.tl:175

Hinweise

Gibt die aktuellen Parameterwerte des Menüs zurück.

Rückgabe {string : number}

ConstructionCustomAction

record global base/tealdef/gui/construction/construction_menu.d.tl:178

global record ConstructionCustomAction<P>

Hinweise

Eine eigene Aktion eines Eintrags im Baumenü. Für Bonus-Werkzeuge erzeugst du sie mit ConstructionReactUtil.RegisterCustomSelectorBasedActionRecipe.

Felder

Name Typ Beschreibung
recipe Recipe<ConstructionCustomActionParams<P>> Recipe, das die Aktion umsetzt.
customParam P Wert, der als customParam an das Recipe geht.

SelectorBasedActionHoverResult

record global base/tealdef/gui/construction/construction_menu.d.tl:183

global record SelectorBasedActionHoverResult

Hinweise

Ergebnis von RegisterCustomSelectorBasedActionRecipeParams.onHover.

Felder

Name Typ Beschreibung
param Builtin.ActionTooltipParam<any> Anzuzeigender Tooltip (Recipe und Parameter), zum Beispiel mit ConstructionReactUtil.SimpleTooltipRecipe.
mouseCursor integer Id des Mauszeigers, zum Beispiel aus gui_react_util.getMouseCursorInteger("CompanyMechanics").

RegisterCustomSelectorBasedActionRecipeParams

record global base/tealdef/gui/construction/construction_menu.d.tl:188

global record RegisterCustomSelectorBasedActionRecipeParams<P>

Hinweise

Callbacks einer eigenen Aktion, die eine Entität auf der Karte auswählt, für ConstructionReactUtil.RegisterCustomSelectorBasedActionRecipe.

Felder

Name Typ Beschreibung
isActive boolean

Funktionen

isAvailable(params : ConstructionCustomActionParams<P>) : boolean base/tealdef/gui/construction/construction_menu.d.tl:189

Hinweise

Gibt zurück, ob gerade ausgewählt werden darf. Fehlt die Funktion, ist die Aktion immer verfügbar.

Rückgabe boolean

onHover(ConstructionCustomActionParams<P>, entity : Engine.Entity, indices : {integer}, details : Gui.SelectionDetails) : SelectorBasedActionHoverResult base/tealdef/gui/construction/construction_menu.d.tl:191

Hinweise

Wird aufgerufen, wenn die Maus über einer Entität steht. Gibt den anzuzeigenden Tooltip und Mauszeiger zurück oder nil, um beide zu entfernen.

Rückgabe SelectorBasedActionHoverResult

onSelect(ConstructionCustomActionParams<P>, entity : Engine.Entity) base/tealdef/gui/construction/construction_menu.d.tl:192

Hinweise

Wird aufgerufen, wenn die Entität unter der Maus ausgewählt wird (Klick oder IA_APPLY) und die Aktion verfügbar ist.

filter(entity : Engine.Entity) base/tealdef/gui/construction/construction_menu.d.tl:193

Hinweise

Filter des Selektors. Er entscheidet, über welchen Entitäten die Maus eine Reaktion auslöst.

IconWithAvailability

record global base/tealdef/gui/construction/construction_menu.d.tl:196

global record IconWithAvailability

Hinweise

Icon eines Eintrags im Baumenü.

Felder

Name Typ Beschreibung
icon string Pfad des Icons.
lockedIcon string Icon, solange der Eintrag gesperrt ist (Unternehmensrang zu niedrig).
yearFrom {{integer, string}} Liste von Paaren {year, iconPath} in aufsteigender Jahresfolge. Angezeigt wird der letzte Eintrag, dessen Jahr erreicht ist. Hat Vorrang vor icon.

ConstructionDefinition

record global base/tealdef/gui/construction/construction_menu.d.tl:202

global record ConstructionDefinition

Hinweise

Ein Eintrag im Baumenü. Das Menü baut diese Einträge aus Konstruktionen, Straßen, Gleisen, Modulen, Geländematerialien, Kantendekorationen und construction_tool-Ressourcen.

Details

Eine construction_tool-Ressource gibt ihren Eintrag aus getDefinitionFn zurück (siehe ConstructionToolData). Die Bonus-Werkzeuge des Basisspiels in gui/construction/tools/ sind Beispiele dafür.

Felder

Name Typ Beschreibung
action ConstructionMenuAction Art der Aktion, die der Eintrag startet.
resName ResName Ressourcenname des Eintrags (Konstruktion, Straßentyp, Modul, ...).
constructions {ResName} Konstruktionen, die ACTION_CONSTRUCTION_BUILDER platziert.
builderAudioRes {ResName} Builder-Audio-Ressourcen (*.builder_audio) für die Sounds der Aktion.
resIndex integer for terrainPainter
icon IconWithAvailability Icon in der Menüliste.
previewIcon IconWithAvailability Vorschaubild im Infobereich.
name string Angezeigter Name.
description string Beschreibungstext.
params {ConstructionMenuParam} Parameter des Eintrags.
categories {string} Filterkategorien des Eintrags innerhalb seiner Menükategorie.
availability ConstructionAvailability Jahre, in denen der Eintrag verfügbar ist.
placementTag string
metadata ConstructionDescMetadata Metadaten der Konstruktionsbeschreibung (Unternehmensboni, Emissionen, Gleisbeschreibung, ...). Der Infobereich liest sie.
constructionTemplate integer Index der Konstruktionsvorlage, beginnend bei 0, oder -1 für keine.
hudIcons ConstructionActionHudIcons HUD-Icons, die erscheinen, solange die Aktion aktiv ist.
showInAllCategories boolean Zeigt den Eintrag unabhängig von der gewählten Filterkategorie.
disabled DefinitionDisabled Wenn gesetzt, erscheint der Eintrag deaktiviert mit seiner Meldung, und seine Aktion startet nicht, außer keepDisabledActive ist gesetzt.
terrainContours boolean Zeigt Höhenlinien des Geländes, solange die Aktion aktiv ist.
navigableWater boolean Färbt schiffbares Wasser ein, solange die Aktion aktiv ist.
configureLayerScript ScriptRef Skript, das die Ebenenkonfiguration der Aktion anpasst (aufgerufen mit seinen Parametern, der Ebenenkonfiguration und den aktuellen Parameterwerten).
configureHudIconsScript ScriptRef Skript, das die ConstructionActionHudIcons zurückgibt.
customAction ConstructionCustomAction<any> Eigene Aktion, die ein Recipe umsetzt. Ist sie gesetzt, führt das Menü für den Eintrag dieses Recipe aus. Das Basisspiel nutzt das für die Boni Prospektion, Marketingkampagne und Industriebegrünung.
order integer Sortierreihenfolge (bei Kantendekorationen gesetzt).
attributes {string : {number, number}} Wertebereiche von Attributen, die der Infobereich zeigt (zum Beispiel cost, maintenanceCost, noise), jeweils {min, max}.
attributesCostPerKm boolean Zeigt Kosten und Emissionen pro km (in imperialen Einheiten pro Meile) wie bei Straßen und Gleisen.
costsYearProgression boolean Passt die angezeigten Kosten an das aktuelle Jahr an.
cargoTypeSet CargoTypeSet Güterarten, die die Konstruktion umschlägt, angezeigt im Infobereich.
keepDisabledActive boolean Lässt die Aktion weiterlaufen, während der Eintrag deaktiviert ist (bei Modulen verwendet).
showNumRemaining boolean Zeigt, wie viele Nutzungen der Unternehmensgenehmigung übrig sind (Wahrzeichen und Hauptquartier).
numRemaining integer Feste Anzahl übriger Nutzungen, die angezeigt wird, statt sie zu berechnen.
menuCategory ModelMetadata.MenuCategory Menükategorien (mit Reihenfolge und Filterkategorien), in denen der Eintrag steht.
moduleType string Modultyp, bei Moduleinträgen.
categoryList ModelMetadata.CategoryList Kategorieliste des Eintrags. Klimakategorien (*clima*) zeigt der Infobereich als Klima-Spezialisierungen.

ConstructionDefinition.DefinitionDisabled

record base/tealdef/gui/construction/construction_menu.d.tl:203

record DefinitionDisabled

Hinweise

Kennzeichnet einen Eintrag als deaktiviert.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/gui/gui/construction/construction.tl:4192

local disabled : ConstructionDefinition.DefinitionDisabled = nil

Felder

Name Typ Beschreibung
message string Begründung, die beim deaktivierten Eintrag steht.

ConstructionMenuActionParams

record global base/tealdef/gui/construction/construction_menu.d.tl:245

global record ConstructionMenuActionParams

Hinweise

Alles, was das Baumenü braucht, um die Aktion eines Eintrags auszuführen. ConstructionReactUtil.getActionParams gibt es zurück.

Felder

Name Typ Beschreibung
constructionActionParams Builtin.ConstructionActionParam Parameter der eingebauten Bauaktion.
hudIconManagerParams Builtin.HudIconManagerConfigParam<ConstructionActionHudIconParams> Konfiguration des HUD-Icon-Managers oder nil, wenn der Eintrag keine HUD-Icons hat.
layerConfig LayerConfig Ebenenkonfiguration, solange die Aktion aktiv ist.

ConstructionMenuModuleCategory

record global base/tealdef/gui/construction/construction_menu.d.tl:251

global record ConstructionMenuModuleCategory

Die Spieldateien enthalten hierzu noch keine Beschreibung.

Felder

Name Typ Beschreibung
categoryName string
category string
icon string
modules {{string, ModuleDesc}}
typeAvailability {string : ConstructionAvailability}

ConstructionActionRepository

record global base/tealdef/gui/construction/construction_menu.d.tl:259

global record ConstructionActionRepository

Hinweise

Daten, die alle Einträge im Baumenü gemeinsam nutzen, erzeugt von ConstructionReactUtil.getConstructionActionRepository.

Felder

Name Typ Beschreibung
terrainModifierHeightmaps {integer} Ressourcen-Ids aller stamp-Ressourcen (Heightmap-Stempel).
cargoTypes {CargoTypeId} Ids der Güterarten in Menüreihenfolge.
landUse2CargoTypes {LandUseType : {CargoTypeId}} Güterarten pro Flächennutzungstyp (aus api.engine.util.town.getLandUse2CargoTypes()).
terrainToolData ConstructionToolParam.TerrainToolData Größenangaben der Geländewerkzeuge.
hasHeightMapTextureTool boolean Ob das Werkzeug für Heightmap-Texturen verfügbar ist.

ConstructionToolData

record global base/tealdef/gui/construction/construction_menu.d.tl:267

global record ConstructionToolData

Hinweise

Daten einer construction_tool-Ressource, die dem Baumenü einen Eintrag hinzufügt.

Beispiel

-- base/content/gui/gui/construction/tools/industry_greenify_tool.res.lua
function data()
    return {
        type = "construction_tool",
        data = {
            getDefinitionFn = {
                fileName = resolve("industry_greenify_tool.script@getDefinition"),
            }
        }
    }
end

Felder

Name Typ Beschreibung
getDefinitionFn ScriptRef Skriptfunktion (resName, repository, params) -> ConstructionDefinition, die den Menüeintrag zurückgibt. Ein Ergebnis nil fügt nichts hinzu.
isDisabledFn ScriptRef Optionale Skriptfunktion (resName, repository, params) -> boolean. Gibt sie true zurück, fehlt das Werkzeug im Menü.