construction_react_util¶
Quelle: base/tealdef/gui/construction/construction_react_util.d.tl
Hinweise
Hilfsmodul des Baumenüs (::/gui/construction/construction_react_util.tl). Es baut die
Menüeinträge aus den Ressourcen-Repositorys (Konstruktionen, Straßen, Gleise, Module,
Geländematerialien, construction_tool-Ressourcen, Kantendekorationen), wandelt
Skriptparameter in Menüparameter um und erzeugt die Parameter der Bauaktion.
StampData¶
record global base/tealdef/gui/construction/construction_react_util.d.tl:3
global record StampData
Hinweise
Daten einer stamp-Ressource, ein Heightmap-Stempel für das Heightmap-Werkzeug des Geländes.
Beispiel
Felder
| Name | Typ | Beschreibung |
|---|---|---|
heightmap |
string |
Heightmap-Bild des Stempels. |
icon |
string |
Icon des Stempels im Parameter „Heightmap“ des Werkzeugs. |
ConstructionReactUtil¶
record global base/tealdef/gui/construction/construction_react_util.d.tl:8
global record ConstructionReactUtil
Laden: local construction_react_util = ug_require "::/gui/construction/construction_react_util.tl" as ConstructionReactUtil
Hinweise
Hilfsmodul des Baumenüs. Lade es mit ug_require "::/gui/construction/construction_react_util.tl".
Felder
| Name | Typ | Beschreibung |
|---|---|---|
SimpleTooltipRecipe |
Recipe<ConstructionReactUtil.SimpleTooltipRecipeParams> |
Recipe für einen einfachen Aktions-Tooltip mit einer Meldungszeile und optionaler Kostenzeile.Im Spiel Kosten: {cost}Im Code: Cost: {cost} 4-mal im Basisspiel verwendet |
Funktionen
getConstructionDefinitions() : {ConstructionDefinition} base/tealdef/gui/construction/construction_react_util.d.tl:44
Aufruf: construction_react_util.getConstructionDefinitions(…)
Hinweise
Erzeugt Menüeinträge für alle Konstruktionen und Metakonstruktionen. Konstruktionen mit Vorlagen bekommen einen Eintrag pro Vorlage.
Rückgabe {ConstructionDefinition}
Details
Konstruktionen ohne Menükategorie werden übersprungen. Kantenobjekt-Konstruktionen werden zu Einträgen mit ACTION_STREET_TERMINAL_BUILDER, alle anderen zu ACTION_CONSTRUCTION_BUILDER.
convertScriptParamsToMenuParams(descParams : {ScriptParam}, filterByPostconstructionModifiable? : boolean) : {ConstructionMenuParam} base/tealdef/gui/construction/construction_react_util.d.tl:45
Aufruf: construction_react_util.convertScriptParamsToMenuParams(…)
Hinweise
Wandelt die Skriptparameter einer Konstruktionsbeschreibung in Menüparameter um.
| Parameter | Typ | Beschreibung |
|---|---|---|
descParams |
{ScriptParam} |
Skriptparameter. |
filterByPostconstructionModifiable? |
boolean |
Behält nur Parameter mit postConstructionModifiable. |
Rückgabe {ConstructionMenuParam}
getPerksProspectionDefinitions() : {ConstructionDefinition} base/tealdef/gui/construction/construction_react_util.d.tl:46
Aufruf: construction_react_util.getPerksProspectionDefinitions(…)
Hinweise
Erzeugt die Einträge für den Bonus Prospektion aus den company_exploration-Ressourcen (mit den nötigen Tags) der aktuellen Wirtschaft.
Im Spiel Prospektion nach Ressourcen: {cargoType}
· Eine Prospektion nach unerschlossenen Vorkommen von "{cargoType}" in der Nähe einer bestimmten Stadt auslösen.
· Hier eine Prospektion starten
Im Code: Prospect for Resources: {cargoType}
· Prospect for unexploited occurrences of resource "{cargoType}" near a specific town.
· Start Prospecting Here
Rückgabe {ConstructionDefinition}
getModuleDefinitions() : {ConstructionDefinition} base/tealdef/gui/construction/construction_react_util.d.tl:47
Aufruf: construction_react_util.getModuleDefinitions(…)
Hinweise
Erzeugt Einträge mit ACTION_MODULE_BUILDER für alle Module, die eine Menükategorie haben.
Rückgabe {ConstructionDefinition}
getStreetDefinitions(tramOnly? : boolean) : {ConstructionDefinition} base/tealdef/gui/construction/construction_react_util.d.tl:48
Aufruf: construction_react_util.getStreetDefinitions(…)
Hinweise
Erzeugt Einträge für den Straßenbau aus allen Straßenvorlagen mit Straßentyp STREET.
Im Spiel Gerade Strasse
· Kurvige Strasse
· Strasse ersetzen
Im Code: Straight Road
· Curved Road
· Replace Road
| Parameter | Typ | Beschreibung |
|---|---|---|
tramOnly? |
boolean |
Gibt nur Straßen zurück, die ausschließlich für Trams sind. |
Rückgabe {ConstructionDefinition}
getStreetToolsHudIcons(depotType : ConstructionActionHudIconConstructionType) : ConstructionActionHudIcons base/tealdef/gui/construction/construction_react_util.d.tl:49
Aufruf: construction_react_util.getStreetToolsHudIcons(…)
Hinweise
Konfiguration der HUD-Icons für Straßenwerkzeuge (Industrien, Städte, Stationen, Depots, Lager).
| Parameter | Typ | Beschreibung |
|---|---|---|
depotType |
ConstructionActionHudIconConstructionType |
Verkehrsträger-Filter für Depot-Icons. |
Rückgabe ConstructionActionHudIcons
Im Basisspiel verwendet: 6-mal in 6 Dateien
base/content/gui/gui/construction/tools/bus_lane_tool.script.tl:31
base/content/gui/gui/construction/tools/crosswalk_modifier_tool.script.tl:30
base/content/gui/gui/construction/tools/lane_modifier_tool.script.tl:45
base/content/gui/gui/construction/tools/player_owned_tool.script.tl:25
base/content/gui/gui/construction/tools/traffic_light_tool.script.tl:21
base/content/gui/gui/construction/tools/tram_track_tool.script.tl:60
getTrackDefinitions() : {ConstructionDefinition} base/tealdef/gui/construction/construction_react_util.d.tl:50
Aufruf: construction_react_util.getTrackDefinitions(…)
Hinweise
Erzeugt Einträge für den Gleisbau aus allen Straßenvorlagen mit Straßentyp TRACK, nach Geschwindigkeit sortiert.
Im Spiel Gleisbaumodus
· Gleis bauen
· Gleis ersetzen
Im Code: Track Builder Mode
· Build Track
· Replace Track
Rückgabe {ConstructionDefinition}
getMaterialsDefinitions(terrainToolData : ConstructionToolParam.TerrainToolData, includeEraser : boolean) : {ConstructionDefinition} base/tealdef/gui/construction/construction_react_util.d.tl:51
Aufruf: construction_react_util.getMaterialsDefinitions(…)
Hinweise
Erzeugt Einträge zum Bemalen des Geländes für alle Geländematerialien, nach ihrer Reihenfolge sortiert.
Im Spiel Radiergummi
· Die Gelände-Bemalung entfernen (den Ursprungszustand wiederherstellen).
Im Code: Eraser Tool
· Erase the terrain painting and restore the default material.
| Parameter | Typ | Beschreibung |
|---|---|---|
terrainToolData |
ConstructionToolParam.TerrainToolData |
Größenangaben für die Pinselparameter. |
includeEraser |
boolean |
Fügt den Eintrag für den Material-Radiergummi hinzu (resIndex 0). |
Rückgabe {ConstructionDefinition}
forEachDefinition(fn : function(definition : ConstructionDefinition), repository : ConstructionActionRepository) base/tealdef/gui/construction/construction_react_util.d.tl:55
Aufruf: construction_react_util.forEachDefinition(…)
SLOW!
makeItemDisabledCache(allDefinitions : {ConstructionDefinition}) : ItemDisableCache base/tealdef/gui/construction/construction_react_util.d.tl:57
Aufruf: construction_react_util.makeItemDisabledCache(…)
Hinweise
Erzeugt aus allen Menüeinträgen den Cache für checkItemDisabledDefault und checkItemRemainingNum.
Rückgabe ItemDisableCache
checkItemDisabledDefault(ConstructionDefinition, cache : ItemDisableCache) : ItemDisableReason base/tealdef/gui/construction/construction_react_util.d.tl:58
Aufruf: construction_react_util.checkItemDisabledDefault(…)
Hinweise
Prüft die Unternehmensgenehmigungen eines Eintrags.
Rückgabe ItemDisableReason: Den Grund, warum der Eintrag deaktiviert ist, oder nil, wenn er nutzbar ist.
checkItemRemainingNum(definition : ConstructionDefinition, cache : ItemDisableCache) : integer | nil base/tealdef/gui/construction/construction_react_util.d.tl:59
Aufruf: construction_react_util.checkItemRemainingNum(…)
Hinweise
Gibt zurück, wie viele Nutzungen der Unternehmensgenehmigung eines Eintrags übrig sind, oder nil, wenn sie nicht begrenzt ist.
Rückgabe integer | nil
makeUndergroundParam(stepValueFn : (function(value : integer, direction : integer, precise : boolean) : integer), checkEnabledFn? : (function(params : {string : number}) : ConstructionMenuParam.CheckEnabledResult), defaultUnderground? : boolean) : ConstructionMenuParam base/tealdef/gui/construction/construction_react_util.d.tl:61
Aufruf: construction_react_util.makeUndergroundParam(…)
Hinweise
Erzeugt den Werkzeugleisten-Parameter undergroundMode („Untergrund“, Ja/Nein), der nur unterirdische Objekte zeigt und nur an ihnen einrastet. Sein Wert gilt für alle Kategorien.
| Parameter | Typ | Beschreibung |
|---|---|---|
stepValueFn |
(function(value : integer, direction : integer, precise : boolean) : integer) |
Weiterschalt-Funktion des Parameters. |
checkEnabledFn? |
(function(params : {string : number}) : ConstructionMenuParam.CheckEnabledResult) |
Aktivierungsprüfung des Parameters. |
defaultUnderground? |
boolean |
Macht „Ja“ zum Standard. |
Rückgabe ConstructionMenuParam
Im Basisspiel verwendet: 7-mal in 7 Dateien
base/content/gui/gui/construction/tools/bus_lane_tool.script.tl:27
construction_react_util.makeUndergroundParam(function(value : integer, __ : integer, __ : boolean) : integer
base/content/gui/gui/construction/tools/crosswalk_modifier_tool.script.tl:26
construction_react_util.makeUndergroundParam(function(value : integer, __ : integer, __ : boolean) : integer
base/content/gui/gui/construction/tools/lane_modifier_tool.script.tl:40
construction_react_util.makeUndergroundParam(function(value : integer, __ : integer, __ : boolean) : integer
base/content/gui/gui/construction/tools/player_owned_tool.script.tl:21
construction_react_util.makeUndergroundParam(function(value : integer, __ : integer, __ : boolean) : integer
base/content/gui/gui/construction/tools/rail_electrification_tool.script.tl:18
construction_react_util.makeUndergroundParam(function(value : integer, __ : integer, ___ : boolean) : integer
base/content/gui/gui/construction/tools/traffic_light_tool.script.tl:17
… und 1 weitere Dateien.
getBrushConstructionParams(args : ConstructionReactUtil.BrushConstructionArgs) : {ConstructionMenuParam} base/tealdef/gui/construction/construction_react_util.d.tl:81
Aufruf: construction_react_util.getBrushConstructionParams(…)
Hinweise
Erzeugt die Werkzeugleisten-Parameter eines Pinselwerkzeugs (Größe, Stärke, Rotation, Pinselform und die optionalen Parameter, die in args gewählt sind).
Im Spiel Pinselmodus
· Werkzeuggrösse
· Stärke
Im Code: Brush Mode
· Brush Size
· Strength
Rückgabe {ConstructionMenuParam}
Im Basisspiel verwendet: 6-mal in 5 Dateien
base/content/gui/gui/construction/tools/asset_eraser_tool.script.tl:24
base/content/gui/gui/construction/tools/mixed_assets.script.tl:66
base/content/gui/gui/construction/tools/terrain_painter_eraser_tool.script.tl:23
base/content/gui/gui/construction/tools/terrain_tools.script.tl:6
base/content/gui/gui/construction/tools/vegetation_eraser_tool.script.tl:24
getMenuCategories(repository : ConstructionActionRepository) : {ConstructionMenu : {{ConstructionMenuCategory, {ConstructionDefinition}}}} base/tealdef/gui/construction/construction_react_util.d.tl:83
Aufruf: construction_react_util.getMenuCategories(…)
Hinweise
Gruppiert alle Menüeinträge nach Reiter des Baumenüs und menu_category, sortiert nach Kategoriereihenfolge und Eintragsreihenfolge.
Rückgabe {ConstructionMenu : {{ConstructionMenuCategory, {ConstructionDefinition}}}}: Für jeden Menüreiter eine Liste von Paaren {category, definitions}.
getConstructionActionRepository(terrainToolData : ConstructionToolParam.TerrainToolData, hasHeightMapTextureTool : boolean) : ConstructionActionRepository base/tealdef/gui/construction/construction_react_util.d.tl:85
Aufruf: construction_react_util.getConstructionActionRepository(…)
Hinweise
Erzeugt das Repository mit allen Heightmap-Stempeln, den sortierten Güterarten und den Güterarten pro Flächennutzung.
Rückgabe ConstructionActionRepository
getActionParams(definition : ConstructionDefinition, params : {string : number}, repository : ConstructionActionRepository, isGamepadMode : boolean, refParams : ReactRefWrapApiT<any, ConstructionMenuParamsAPI>, entity : Engine.Entity, accessNotificationCacheFn : (function(Engine.Entity) : {Notification}), sublistParamsApi : ReactRefWrapApiT<any, ConstructionMenuParamsAPI>, disableLayersIA : boolean) : ConstructionMenuActionParams base/tealdef/gui/construction/construction_react_util.d.tl:86
Aufruf: construction_react_util.getActionParams(…)
Hinweise
Erzeugt für einen Menüeintrag und seine aktuellen Parameterwerte die Parameter für Bauaktion, HUD-Icons und Ebenen, einschließlich der Handler für die Eingabeaktionen seiner Werkzeugleisten-Parameter.
Im Spiel Pinselmodus
· Ruf: -{value} {townsString}
· Untergrundmodus
Im Code: Brush Mode
· Reputation: -{value} {townsString}
· Underground Mode
| Parameter | Typ | Beschreibung |
|---|---|---|
definition |
ConstructionDefinition |
|
params |
{string : number} |
|
repository |
ConstructionActionRepository |
|
isGamepadMode |
boolean |
|
refParams |
ReactRefWrapApiT<any, ConstructionMenuParamsAPI> |
|
entity |
Engine.Entity |
|
accessNotificationCacheFn |
(function(Engine.Entity) : {Notification}) |
|
sublistParamsApi |
ReactRefWrapApiT<any, ConstructionMenuParamsAPI> |
|
disableLayersIA |
boolean |
Bei true wird die Eingabeaktion für die Ebenenleiste des Baumenüs nicht registriert. Das Baufenster übergibt gameCtx.disableFeatures:get()["Layers"]. |
Rückgabe ConstructionMenuActionParams
Very slow -> Do not use! If needed, get allCompanyDefinitionsCacheRef from game.tl
getAllCompanyDefinitions(terrainToolData : ConstructionToolParam.TerrainToolData) : {ConstructionDefinition} base/tealdef/gui/construction/construction_react_util.d.tl:92
Aufruf: construction_react_util.getAllCompanyDefinitions(…)
Die Spieldateien enthalten hierzu noch keine Beschreibung.
Rückgabe {ConstructionDefinition}
constructIcon(icon : IconWithAvailability, locked : boolean) : TreeNodeId base/tealdef/gui/construction/construction_react_util.d.tl:94
Aufruf: construction_react_util.constructIcon(…)
Hinweise
Erzeugt den Icon-Knoten eines Menüeintrags (wo zutreffend das jahresabhängige oder das gesperrte Icon).
Rückgabe TreeNodeId
Im Basisspiel verwendet: 3-mal in 2 Dateien
base/content/game_mechanics/game_mechanics/company/company.tl:159
base/content/gui/gui/construction/construction.tl:354
mergeLayerConfig(fromConstructionItem : LayerConfig, preferredLayerConfig : LayerConfig) : LayerConfig base/tealdef/gui/construction/construction_react_util.d.tl:96
Aufruf: construction_react_util.mergeLayerConfig(…)
Hinweise
Gibt die bevorzugte Ebenenkonfiguration zurück (die im Ebenenmenü gewählte), wenn sie gesetzt ist, sonst die Konfiguration des Eintrags im Baumenü.
Rückgabe LayerConfig
makeWhiteScreen(layerConfig : LayerConfig, layerColors : LayerColors) base/tealdef/gui/construction/construction_react_util.d.tl:97
Aufruf: construction_react_util.makeWhiteScreen(…)
Hinweise
Setzt auf der Ebenenkonfiguration einen Farbdurchgang, der die Szene in den neutralen Ersatzfarben des Baumodus zeichnet.
RegisterCustomSelectorBasedActionRecipe<P>(recipeName : string, outerParams : RegisterCustomSelectorBasedActionRecipeParams<P>) : Recipe<ConstructionCustomActionParams<P>> base/tealdef/gui/construction/construction_react_util.d.tl:100
Aufruf: construction_react_util.RegisterCustomSelectorBasedActionRecipe(…)
Hinweise
Registriert ein Recipe für eine eigene Aktion, mit der der Spieler eine Entität auf der Karte auswählt, samt Tooltip, Mauszeiger und HUD-Icons. Das Basisspiel nutzt es für die Boni Prospektion, Marketingkampagne und Industriebegrünung.
| Parameter | Typ | Beschreibung |
|---|---|---|
recipeName |
string |
Name des Recipes. |
outerParams |
RegisterCustomSelectorBasedActionRecipeParams<P> |
Callbacks und Filter des Selektors. |
Rückgabe Recipe<ConstructionCustomActionParams<P>>: Ein Recipe für ConstructionCustomAction.recipe.
Beispiel
-- gekürzt aus base/content/gui/gui/construction/tools/industry_greenify_tool.script.tl
local IndustryGreenifyRecipe = construction_react_util.RegisterCustomSelectorBasedActionRecipe("IndustryGreenifyAction", {
onHover = function(__, entity : Engine.Entity) : SelectorBasedActionHoverResult
return {
param = {
recipe = construction_react_util.SimpleTooltipRecipe,
param = { message = { message = _("Select an Industry to Greenify") } },
},
mouseCursor = gui_react_util.getMouseCursorInteger("CompanyMechanics"),
}
end,
onSelect = function(params : ConstructionCustomActionParams<string>, entity : Engine.Entity)
-- Befehl für die ausgewählte Entität senden
end,
filter = componentFilter(api.type.ComponentType.INDUSTRY),
})
Im Basisspiel verwendet: 2-mal in 2 Dateien
base/content/gui/gui/construction/tools/industry_greenify_tool.script.tl:16
local IndustryGreenifyRecipe = construction_react_util.RegisterCustomSelectorBasedActionRecipe("IndustryGreenifyAction", {
base/content/gui/gui/construction/tools/marketing_campaign_tool.script.tl:23
ConstructionReactUtil.ItemDisableCache¶
record base/tealdef/gui/construction/construction_react_util.d.tl:9
record ItemDisableCache
Hinweise
Zwischengespeicherte Unternehmensdaten, mit denen entschieden wird, ob Menüeinträge gesperrt oder aufgebraucht sind. Erzeuge den Cache mit makeItemDisabledCache.
Im Basisspiel verwendet: 12-mal in 3 Dateien
base/content/gui/gui/construction/construction.tl:113
base/content/gui/gui/construction/construction_desc_react_util.tl:440
local getNumberOfAvailablePermitsFromCache = function(permitKey : ResName, cache : ConstructionReactUtil.ItemDisableCache) : integer
base/content/gui/gui/construction/construction_react_util.tl:1163
Felder
| Name | Typ | Beschreibung |
|---|---|---|
company |
CompanyUtil.ConstructionDisableCacheData |
Daten zu den Unternehmensgenehmigungen aller Einträge. |
ConstructionReactUtil.ItemDisableReason¶
record base/tealdef/gui/construction/construction_react_util.d.tl:13
record ItemDisableReason
Hinweise
Warum ein Menüeintrag deaktiviert ist.
Im Basisspiel verwendet: 3-mal in 2 Dateien
base/content/gui/gui/construction/construction.tl:3731
local disabledReason : ConstructionReactUtil.ItemDisableReason = params.itemDisableCacheRef and construction_react_util.checkItemDisabledDefault(definition, par
base/content/gui/gui/construction/construction_react_util.tl:1183
Felder
ConstructionReactUtil.ConstructionMenuSetTabEventParam¶
record base/tealdef/gui/construction/construction_react_util.d.tl:19
record ConstructionMenuSetTabEventParam
Hinweise
Parameter des GUI-Events constructionMenuSetTab, das einen Reiter des Baumenüs öffnet.
Im Basisspiel verwendet: 3-mal in 1 Datei
base/content/gui/gui/construction/construction.tl:2811
Felder
ConstructionReactUtil.ConstructionMenuSelectConstructionEventParam¶
record base/tealdef/gui/construction/construction_react_util.d.tl:25
record ConstructionMenuSelectConstructionEventParam
Hinweise
Parameter des GUI-Events constructionMenuSelectTabForConstruction, das den Reiter des Menüs öffnet, in dem eine Konstruktion steht.
Beispiel
Im Basisspiel verwendet: 2-mal in 2 Dateien
base/content/game_mechanics/game_mechanics/notifications/types/con_availability.script.tl:35
base/content/gui/gui/construction/construction.tl:4910
Felder
| Name | Typ | Beschreibung |
|---|---|---|
resName |
ResName |
Ressourcenname des gesuchten Eintrags. Ein Eintrag, der im aktuellen Jahr verfügbar ist, wird bevorzugt. |
ConstructionReactUtil.SimpleTooltipRecipeParams¶
record base/tealdef/gui/construction/construction_react_util.d.tl:29
record SimpleTooltipRecipeParams
Hinweise
Parameter von SimpleTooltipRecipe.
Im Basisspiel verwendet: 4-mal in 3 Dateien
base/content/gui/gui/construction/construction_react_util.tl:1208
construction_react_util.SimpleTooltipRecipe = react.RegisterRecipe("SimpleTooltipRecipe", function(params : ConstructionReactUtil.SimpleTooltipRecipeParams) : T
base/content/gui/gui/construction/tools/industry_greenify_tool.script.tl:28
base/content/gui/gui/construction/tools/marketing_campaign_tool.script.tl:35
Felder
| Name | Typ | Beschreibung |
|---|---|---|
message |
MessageGoodOrBad |
Meldungszeile. |
cost |
integer |
Kosten in Spielwährung. Fügt eine Zeile „Kosten“ hinzu, die als schlecht erscheint, wenn der Spieler sich die Kosten nicht leisten kann. |
ConstructionReactUtil.SimpleTooltipRecipeParams.MessageGoodOrBad¶
record base/tealdef/gui/construction/construction_react_util.d.tl:30
record MessageGoodOrBad
Hinweise
Eine Tooltip-Meldung mit ihrem Stil.
Im Basisspiel verwendet: 2-mal in 1 Datei
base/content/gui/gui/construction/construction_react_util.tl:1209
Felder
| Name | Typ | Beschreibung |
|---|---|---|
message |
string |
Text der Meldung. |
good |
boolean |
Zeigt die Meldung im Erfolgsstil. |
bad |
boolean |
Zeigt die Meldung im Fehlerstil (wenn nicht good). Sonst gilt der Informationsstil. |
ConstructionReactUtil.DefinitionWithFilterCategories¶
record base/tealdef/gui/construction/construction_react_util.d.tl:39
record DefinitionWithFilterCategories
Hinweise
Ein Menüeintrag zusammen mit den Filterkategorien einer seiner Menükategorien.
Felder
| Name | Typ | Beschreibung |
|---|---|---|
definition |
ConstructionDefinition |
Der Menüeintrag. |
filterCategories |
{string} |
Filterkategorien des Eintrags in dieser Menükategorie. |
ConstructionReactUtil.BrushConstructionArgs¶
record base/tealdef/gui/construction/construction_react_util.d.tl:64
record BrushConstructionArgs
Hinweise
Optionen für getBrushConstructionParams.
Im Basisspiel verwendet: 1-mal in 1 Datei
base/content/gui/gui/construction/construction_react_util.tl:2891
Felder