Zum Inhalt

selector_react_util

Quelle: base/tealdef/gui/main/selector_react_util.d.tl

Hinweise

Der Standard-Selektor für Entitäten in der Spielansicht: Er wählt Entitäten mit der Maus aus (Hervorhebung beim Überfahren, Tooltips, ein Klick auf eine Entität öffnet ihr Fenster). Dazu gehören die passende Konfiguration der HUD-Symbole und das Inspektor-Werkzeug für das Gamepad.

SelectorReactUtil

record global base/tealdef/gui/main/selector_react_util.d.tl:3

global record SelectorReactUtil

Laden: local selector_react_util = ug_require "::/gui/main/selector_react_util.tl" as SelectorReactUtil

Hinweise

Standard-Selektor für Entitäten, Action-Deskriptoren und das Inspektor-Werkzeug der Spielansicht.

Felder

Name Typ Beschreibung
defaultHudIconFilter {Engine.ComponentType} Komponententypen, deren Entitäten standardmäßig HUD-Symbole bekommen (Transportfahrzeuge, Industrien, Lagerhäuser, Stationsgruppen, Städte, Basisknoten, Unterkonstruktionen).
defaultHudIconFilterTvCarrier {Carrier} Verkehrsträger von Transportfahrzeugen, die standardmäßig HUD-Symbole bekommen (Straße, Schiene, Straßenbahn, Luft, Wasser).
DefaultSelectorComp Recipe<DefaultSelectorCompParams> Fokussierbarer Platzhalterknoten für InspectorSelector; holt sich im Inspektor-Modus beim Einhängen den Fokus.
InspectorSelector Recipe<DefaultSelectorCompParams> Recipe hinter InspectorTool. Solange es aktiv ist (Gamepad), setzt es die Selektor-Action im Inspektor-Modus; IA_INSPECTOR oder IA_ABORT beenden es. 1-mal im Basisspiel verwendet
InspectorTool ToolReactUtil.DelegatingToolDefinition<InspectorToolParam, InspectorToolParamInternal> Delegierendes Werkzeug (Name "Inspector"), mit dem du Entitäten per Gamepad auswählst. Du legst es mit tool_react_util.firePushToolEvent{tool = selector_react_util.InspectorTool} auf den Stack. 2-mal im Basisspiel verwendet

Funktionen

makeDefaultSelector(refRC : ReactRefWrapApiT<Builtin.RendererComponentParam, Builtin.RenderComponentAPI>, selectedEntityRef : ReactRefT<Engine.Entity>, allowStacking? : boolean, filters? : ReactRefT<GameContext.Filters>, invertedSelectionColors? : boolean) : TreeNodeId base/tealdef/gui/main/selector_react_util.d.tl:23

Aufruf: selector_react_util.makeDefaultSelector(…)

Hinweise

Erzeugt den Standard-builtin.Selector der Spielansicht.

Parameter Typ Beschreibung
refRC ReactRefWrapApiT<Builtin.RendererComponentParam, Builtin.RenderComponentAPI> Renderer-Komponente, in der Entitäten ausgewählt werden.
selectedEntityRef ReactRefT<Engine.Entity> Ref, die die Entität unter dem Mauszeiger aufnimmt (die Tooltips lesen sie).
allowStacking? boolean Ob das Fenster einer ausgewählten Entität über die offenen Fenster gestapelt wird; nil heißt „im Gamepad-Modus stapeln“.
filters? ReactRefT<GameContext.Filters> Optionale Filter des Spielkontexts; ein nicht leerer selectorEntityFilter schränkt ein, welche Entitäten sich auswählen lassen.
invertedSelectionColors? boolean Verwendet die dunklen Auswahlfarben.

Rückgabe TreeNodeId

Details

Die Auswahl einer Entität löst das React-Event selectEntity aus (es öffnet das Infofenster) und das GUI-Skript-Event select auf mainView (bei Gelände und Wasser zusätzlich select-world). Ein Klick auf einen Marker löst selectMarker aus. Kanten und Basisknoten ohne einstellbare Weiche oder Ampel lassen sich nicht auswählen.

Im Basisspiel verwendet: 9-mal in 9 Dateien

base/content/gui/gui/layers/layer_cargo.tl:318

selector_react_util.makeDefaultSelector(param.toolParam.gameCtx.rendererComponent, selectedEntityRef, true, nil, true),
base/content/gui/gui/layers/layer_cargo_flow.tl:345
selector_react_util.makeDefaultSelector(param.toolParam.gameCtx.rendererComponent, selectedEntityRef, true, nil, true),
base/content/gui/gui/layers/layer_civilization.tl:111
selector_react_util.makeDefaultSelector(param.toolParam.gameCtx.rendererComponent, selectedEntityRef, true, nil, true),
base/content/gui/gui/layers/layer_infrastructure.tl:193
selector_react_util.makeDefaultSelector(param.toolParam.gameCtx.rendererComponent, selectedEntityRef, true, nil, true),
base/content/gui/gui/layers/layer_noise.tl:205
selector_react_util.makeDefaultSelector(param.toolParam.gameCtx.rendererComponent, selectedEntityRef, true, nil, true),
base/content/gui/gui/layers/layer_passenger_flow.tl:209
selector_react_util.makeDefaultSelector(param.toolParam.gameCtx.rendererComponent, selectedEntityRef, true, nil, true),
… und 3 weitere Dateien.

makeDefaultSelectorTooltips(selectedEntityRef : ReactRefT<Engine.Entity>) : TreeNodeId base/tealdef/gui/main/selector_react_util.d.tl:24

Aufruf: selector_react_util.makeDefaultSelectorTooltips(…)

Hinweise

Erzeugt den Action-Tooltip, der für die Entität in selectedEntityRef den Standard-Tooltip zeigt.

Rückgabe TreeNodeId

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/gui/gui/entity_window/station_group/station_group.tl:956

selector_react_util.makeDefaultSelectorTooltips(selectedEntityRef),

makeDefaultSelectorIfMouse(refRC : ReactRefWrapApiT<Builtin.RendererComponentParam, Builtin.RenderComponentAPI>, selectedEntityRef : ReactRefT<Engine.Entity>, invertedSelectionColors? : boolean) : TreeNodeId base/tealdef/gui/main/selector_react_util.d.tl:25

Aufruf: selector_react_util.makeDefaultSelectorIfMouse(…)

Hinweise

Wie makeDefaultSelector, gibt im Gamepad-Modus aber nil zurück.

Rückgabe TreeNodeId

Im Basisspiel verwendet: 11-mal in 11 Dateien

base/content/game_mechanics/game_mechanics/emission/pollution_cleanup_facility_hud.script.tl:104

selector_react_util.makeDefaultSelectorIfMouse(gameCtx.rendererComponent, selectedEntityRef),
base/content/game_mechanics/game_mechanics/subventions/subventions_gui.tl:458
selector_react_util.makeDefaultSelectorIfMouse(param.gameCtx.rendererComponent, selectedEntityRef),
base/content/gui/gui/entity_window/industry/industry.tl:390
selector_react_util.makeDefaultSelectorIfMouse(params.gameCtx.rendererComponent, selectedEntityRef),
base/content/gui/gui/entity_window/line/line.tl:201
selector_react_util.makeDefaultSelectorIfMouse(params.gameCtx.rendererComponent, selectedEntityRef),
base/content/gui/gui/entity_window/maintenance_station/maintenance_station.tl:168
selector_react_util.makeDefaultSelectorIfMouse(params.gameCtx.rendererComponent, selectedEntityRef),
base/content/gui/gui/entity_window/perk/perk.tl:197
selector_react_util.makeDefaultSelectorIfMouse(params.gameCtx.rendererComponent, selectedEntityRef),
… und 5 weitere Dateien.

makeDefaultSelectorTooltipsIfMouse(selectedEntityRef : ReactRefT<Engine.Entity>) : TreeNodeId base/tealdef/gui/main/selector_react_util.d.tl:26

Aufruf: selector_react_util.makeDefaultSelectorTooltipsIfMouse(…)

Hinweise

Wie makeDefaultSelectorTooltips, gibt im Gamepad-Modus aber nil zurück.

Rückgabe TreeNodeId

Im Basisspiel verwendet: 4-mal in 4 Dateien

base/content/game_mechanics/game_mechanics/subventions/subventions_gui.tl:459

selector_react_util.makeDefaultSelectorTooltipsIfMouse(selectedEntityRef),
base/content/gui/gui/entity_window/line/line.tl:202
selector_react_util.makeDefaultSelectorTooltipsIfMouse(selectedEntityRef),
base/content/gui/gui/entity_window/maintenance_station/maintenance_station.tl:169
selector_react_util.makeDefaultSelectorTooltipsIfMouse(selectedEntityRef),
base/content/gui/gui/entity_window/vehicle/vehicle.tl:586
selector_react_util.makeDefaultSelectorTooltipsIfMouse(selectedEntityRef),

makeDefaultSelectorCombinedFn(params : DefaultSelectorCompParams) : function() : TreeNodeId base/tealdef/gui/main/selector_react_util.d.tl:28

Aufruf: selector_react_util.makeDefaultSelectorCombinedFn(…)

Hinweise

Gibt eine Action-Funktion zurück, die die Konfiguration der HUD-Symbole, den Standard-Selektor und seine Tooltips in einem Action-Deskriptor zusammenbaut.

Rückgabe function() : TreeNodeId

Details

Der Selektor fehlt, solange das React-Event preventReactSelector gilt (bis allowReactSelector kommt). Die HUD-Symbole beachten den HUD-Filter, der in den Speicherdaten der GUI liegt.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/gui/gui/entity_window/view_manager.tl:57

local actionFn = selector_react_util.makeDefaultSelectorCombinedFn{refRC = gameCtx.rendererComponent, gameCtx = gameCtx}

makeDefaultSelectorAction(gameCtx : GameContext, layerConfig? : LayerConfig, horizontalPromptList? : boolean, makeCustomActionDescriptorChild? : (function() : TreeNodeId), invertedSelectionColors? : boolean) : function() : TreeNodeId base/tealdef/gui/main/selector_react_util.d.tl:30

Aufruf: selector_react_util.makeDefaultSelectorAction(…)

Hinweise

Gibt die übliche Action-Funktion für Fenster und Werkzeuge zurück, bei denen die normale Auswahl von Entitäten aktiv bleibt. Die Action enthält die HUD-Symbole, den Standard-Selektor und seine Tooltips.

Parameter Typ Beschreibung
gameCtx GameContext Spielkontext.
layerConfig? LayerConfig Optionale Layer-Konfiguration, die in den Action-Deskriptor kommt.
horizontalPromptList? boolean Zeigt die Eingabehinweise in einer waagrechten Liste.
makeCustomActionDescriptorChild? (function() : TreeNodeId) Optional; baut ein zusätzliches Kind des Action-Deskriptors.
invertedSelectionColors? boolean Verwendet die dunklen Auswahlfarben.

Rückgabe function() : TreeNodeId: Eine Funktion für setActionFn, die den Action-Deskriptor zurückgibt.

Beispiel

-- aus sim_person.tl (ein Infofenster)
params.setActionFn(selector_react_util.makeDefaultSelectorAction(params.gameCtx, nil, true))
Im Basisspiel verwendet: 9-mal in 9 Dateien

base/content/game_mechanics/game_mechanics/company/explorations/exploration_plane_entity_window.script.tl:10

params.setActionFn(selector_react_util.makeDefaultSelectorAction(params.gameCtx, nil, true))
base/content/gui/gui/entity_window/animal/animal.tl:11
params.setActionFn(selector_react_util.makeDefaultSelectorAction(params.gameCtx, nil, true))
base/content/gui/gui/entity_window/empty_construction/empty_construction.tl:13
params.setActionFn(selector_react_util.makeDefaultSelectorAction(params.gameCtx, nil, true))
base/content/gui/gui/entity_window/fun_elements/fun_elements.tl:11
params.setActionFn(selector_react_util.makeDefaultSelectorAction(params.gameCtx, nil, true))
base/content/gui/gui/entity_window/sim_person/sim_person.tl:171
params.setActionFn(selector_react_util.makeDefaultSelectorAction(params.gameCtx, nil, true))
base/content/gui/gui/entity_window/warehouse/warehouse.tl:96
params.setActionFn(selector_react_util.makeDefaultSelectorAction(params.gameCtx, layerConfig, true))
… und 3 weitere Dateien.

makeDefaultSelectorActionIfMouse(gameCtx : GameContext, layerConfig? : LayerConfig, horizontalPromptList? : boolean, makeCustomActionDescriptorChild? : (function() : TreeNodeId), invertedSelectionColors? : boolean) : function() : TreeNodeId base/tealdef/gui/main/selector_react_util.d.tl:31

Aufruf: selector_react_util.makeDefaultSelectorActionIfMouse(…)

Hinweise

Wie makeDefaultSelectorAction, lässt im Gamepad-Modus aber den Selektor und seine Tooltips weg.

Rückgabe function() : TreeNodeId

Im Basisspiel verwendet: 2-mal in 2 Dateien

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

return selector_react_util.makeDefaultSelectorActionIfMouse(params.gameCtx)()
base/content/mission/mission/mission_framework/mission_framework_react.tl:518
param.setActionFn(selector_react_util.makeDefaultSelectorActionIfMouse(param.gameCtx, nil, nil, getArrow))

SelectorReactUtil.DefaultSelectorCompParams

record base/tealdef/gui/main/selector_react_util.d.tl:4

record DefaultSelectorCompParams

Hinweise

Parameter von DefaultSelectorComp, InspectorSelector und makeDefaultSelectorCombinedFn.

Im Basisspiel verwendet: 3-mal in 1 Datei

base/content/gui/gui/main/selector_react_util.tl:185

selector_react_util.DefaultSelectorComp = react.RegisterRecipe("DefaultSelectorComp", function(params : SelectorReactUtil.DefaultSelectorCompParams) : TreeNodeI

Felder

Name Typ Beschreibung
meta Meta Metadaten des Knotens.
refRC ReactRefWrapApiT<Builtin.RendererComponentParam, Builtin.RenderComponentAPI> Referenz auf die Renderer-Komponente (3D-Ansicht), in der Entitäten ausgewählt werden.
inspectorMode boolean Inspektor-Modus (Gamepad). Zeigt ein Fadenkreuz und den Geländekreis an der fokussierten Auswahl, und die Komponente holt sich beim Einhängen den Fokus.
gameCtx GameContext Spielkontext; liefert den Cache der Benachrichtigungen und die Selektor-Filter.
invertedSelectionColors boolean Verwendet die dunklen Auswahlfarben (inverted) aus SelectionGuiConfig.

SelectorReactUtil.InspectorToolParam

record base/tealdef/gui/main/selector_react_util.d.tl:12

record InspectorToolParam

empty

Hinweise

Öffentlicher Werkzeug-Parameter von InspectorTool (leer).

Im Basisspiel verwendet: 2-mal in 1 Datei

base/content/gui/gui/main/selector_react_util.tl:284

tool_react_util.onPushToolEvent(selector_react_util.InspectorTool, function(evtParam : ToolReactUtil.PushToolEventParam<SelectorReactUtil.InspectorToolParam, Se

SelectorReactUtil.InspectorToolParamInternal

record base/tealdef/gui/main/selector_react_util.d.tl:15

record InspectorToolParamInternal

Die Spieldateien enthalten hierzu noch keine Beschreibung.

Im Basisspiel verwendet: 9-mal in 1 Datei

base/content/gui/gui/main/selector_react_util.tl:284

tool_react_util.onPushToolEvent(selector_react_util.InspectorTool, function(evtParam : ToolReactUtil.PushToolEventParam<SelectorReactUtil.InspectorToolParam, Se

Funktionen

activate(setActionFn : function((function() : TreeNodeId), ?string)) base/tealdef/gui/main/selector_react_util.d.tl:16

Hinweise

Aktiviert den Inspektor-Selektor; bekommt setActionFn des Werkzeug-Stacks.

deactivate() base/tealdef/gui/main/selector_react_util.d.tl:17

Hinweise

Deaktiviert den Inspektor-Selektor und löscht seine Action.