script_param_util¶
Quelle: base/tealdef/gui/main/script_param_util.d.tl
Hinweise
Widgets für Skript-Parameter (ScriptParam): die Einstellungen des Basisspiels und der Mods,
die als Schaltflächen, Symbol-Schaltflächen, Schieberegler, Auswahllisten oder Kontrollkästchen
erscheinen, etwa in den Einstellungen für ein neues Spiel und für Mods und im Baumenü.
ScriptParamUtil¶
record global base/tealdef/gui/main/script_param_util.d.tl:3
global record ScriptParamUtil
Laden: local script_param_util = ug_require "::/gui/main/script_param_util.tl" as ScriptParamUtil
Hinweise
Baut UI-Widgets für Skript-Parameter und sucht die Parameter des Basisspiels heraus.
Details
Der Wert eines Parameters ist entweder ein Eintrag seiner Liste numbers oder, wenn er keine
numbers hat, der Index (ab 1) des gewählten Eintrags von values.
Funktionen
buildScriptParamCompSimple(param : CompSimpleParam) : TreeNodeId base/tealdef/gui/main/script_param_util.d.tl:40
Aufruf: script_param_util.buildScriptParamCompSimple(…)
Hinweise
Baut das Widget (mit Beschriftung) für einen Parameter, den ein ParamForUi beschreibt.
Rückgabe TreeNodeId
Beispiel
-- aus town_eow.script.tl
local scriptParam = script_param_util.getScriptParam(optionName)
script_param_util.buildScriptParamCompSimple({
scriptParam = {
uiType = scriptParam.uiType,
name = scriptParam.name,
values = scriptParam.values,
},
currentValue = sensitivityState:old(),
onValueChange = function(index) commit(index, nil, nil) end,
vertical = false,
})
Im Basisspiel verwendet: 4-mal in 3 Dateien
base/content/gui/gui/construction/construction.tl:1161
base/content/gui/gui/entity_window/town/town_eow.script.tl:917
base/content/gui/gui/menu/mod_manager_react_util.tl:5857
buildScriptParamComp(scriptParam : ScriptParam, initialIndex : integer, onValueChange : function(integer), addSpacer? : boolean, toggleButtonsFlowLayout? : boolean, onHover? : function(boolean), allowCoalesce? : boolean) : TreeNodeId base/tealdef/gui/main/script_param_util.d.tl:43
Aufruf: script_param_util.buildScriptParamComp(…)
filteredIndices are expected to be unique and sorted ascending --> these indices get filtered AWAY!
Hinweise
Baut das Widget für einen ScriptParam, beginnend bei der Auswahl initialIndex; onValueChange bekommt den neuen Wert.
Rückgabe TreeNodeId
Im Basisspiel verwendet: 10-mal in 3 Dateien
base/content/gui/gui/map_editor/map_editor.tl:368
return scriptparamutil.buildScriptParamComp(scriptParam, scriptParam.defaultIndex, function(newValue : integer)
base/content/gui/gui/menu/advanced_settings.tl:181
base/content/gui/gui/menu/new_game_react_util.tl:385
filteredIndices are expected to be unique and sorted ascending --> these indices get filtered AWAY!
searchAndBuildScriptParamComp(key : string, getModParam : function(field : string) : number, setModParamField : function(field : string, value : number), addSpacer? : boolean, onHover? : function(isSelected : boolean), filterTags? : {string}, allowCoalesce? : boolean) : MenuIconReactUtil.HintWidgetParam.Data, TreeNodeId base/tealdef/gui/main/script_param_util.d.tl:52
Aufruf: script_param_util.searchAndBuildScriptParamComp(…)
Hinweise
Sucht einen Parameter des Basisspiels über seinen Schlüssel (siehe getScriptParam) und baut sein Widget. Der Wert wird mit getModParam gelesen und mit setModParamField geschrieben.
Rückgabe MenuIconReactUtil.HintWidgetParam.Data, TreeNodeId: Die Hinweisdaten (Titel und Beschreibung des Parameters) und das Widget oder nil, nil, wenn kein Parameter passt.
wrap(text : string, vertical : boolean, node : TreeNodeId, addSpacer? : boolean, onHover? : function(boolean), extraClass? : string) : TreeNodeId base/tealdef/gui/main/script_param_util.d.tl:62
Aufruf: script_param_util.wrap(…)
Hinweise
Setzt einen Beschriftungstext und ein Widget in eine Zeile (oder bei vertical in eine Spalte), auf Wunsch mit Abstandhalter und einem Hover-Callback an der Beschriftung.
Rückgabe TreeNodeId
Im Basisspiel verwendet: 8-mal in 4 Dateien
base/content/gui/gui/map_editor/map_editor.tl:220
base/content/gui/gui/menu/advanced_settings.tl:227
base/content/gui/gui/menu/new_game_or_map_settings_page.tl:223
base/content/gui/gui/menu/new_game_react_util.tl:505
getScriptParam(key : string, filterTags? : {string}) : ScriptParam base/tealdef/gui/main/script_param_util.d.tl:71
Aufruf: script_param_util.getScriptParam(…)
Hinweise
Sucht einen Parameter des Basisspiels (des Mods mit leerem Namen) über seinen Schlüssel.
| Parameter | Typ | Beschreibung |
|---|---|---|
key |
string |
Schlüssel des Parameters. |
filterTags? |
{string} |
Tags, die der Parameter haben muss (Vergleich ohne Beachtung der Groß- und Kleinschreibung, alle müssen passen); Parameter ohne Tags passen immer. |
Rückgabe ScriptParam: Den Parameter oder nil.
Im Basisspiel verwendet: 7-mal in 4 Dateien
base/content/gui/gui/entity_window/town/town_eow.script.tl:907
base/content/gui/gui/map_editor/map_editor.tl:2113
local scriptParamIndustryDensity = scriptparamutil.getScriptParam("locations.industry.initialIndustryDensity", filterTags)
base/content/gui/gui/menu/new_game_or_map_settings_page.tl:19
base/content/gui/gui/menu/savegame_react_util.tl:55
clampScriptParamToDiscreteValue(value : number, scriptParam : ScriptParam) : number base/tealdef/gui/main/script_param_util.d.tl:72
Aufruf: script_param_util.clampScriptParamToDiscreteValue(…)
Hinweise
Gibt den Eintrag von numbers zurück, der value am nächsten liegt. Hat der Parameter keine numbers, wird value auf die Anzahl der values begrenzt.
Rückgabe number
clampScriptParamValueIndex(value : number, scriptParam : ScriptParam) : integer base/tealdef/gui/main/script_param_util.d.tl:73
Aufruf: script_param_util.clampScriptParamValueIndex(…)
Hinweise
clampScriptParamToDiscreteValue, auf eine ganze Zahl gerundet.
Rückgabe integer
getScriptParamDefaultValue(numbers : {number}, defaultIndex : integer) : number base/tealdef/gui/main/script_param_util.d.tl:75
Aufruf: script_param_util.getScriptParamDefaultValue(…)
Hinweise
Gibt numbers[defaultIndex] zurück, wenn numbers mehr als defaultIndex Einträge hat, sonst defaultIndex selbst.
Rückgabe number
getScriptParamDefaultValueIndex(numbers : {number}, defaultIndex : integer) : integer base/tealdef/gui/main/script_param_util.d.tl:76
Aufruf: script_param_util.getScriptParamDefaultValueIndex(…)
Hinweise
getScriptParamDefaultValue, auf eine ganze Zahl gerundet.
Rückgabe integer
getScriptParamLabel(key : string, value : number, filterTags? : {string}) : string base/tealdef/gui/main/script_param_util.d.tl:77
Aufruf: script_param_util.getScriptParamLabel(…)
Hinweise
Gibt den Anzeigetext der Auswahl eines Basisspiel-Parameters zurück, die value am nächsten liegt.
Rückgabe string
getScriptParamLabelUnfiltered(key : string, value : number) : string base/tealdef/gui/main/script_param_util.d.tl:80
Aufruf: script_param_util.getScriptParamLabelUnfiltered(…)
get first match of the value (among all filterTags), or nil of no exact match
Rückgabe string
ScriptParamUtil.ParamForUi¶
record base/tealdef/gui/main/script_param_util.d.tl:4
record ParamForUi
Hinweise
Beschreibung eines Parameters für buildScriptParamCompSimple; meist aus einem ScriptParam kopiert.
Im Basisspiel verwendet: 15-mal in 4 Dateien
base/content/gui/gui/construction/construction.tl:1003
base/content/gui/gui/entity_window/town/town_eow.script.tl:908
base/content/gui/gui/main/script_param_util.tl:55
base/content/gui/gui/menu/mod_manager_react_util.tl:5841
Felder
| Name | Typ | Beschreibung |
|---|---|---|
uiType |
ScriptParamType |
Art des Widgets (Schaltfläche, Symbol-Schaltfläche, Schieberegler, Auswahlliste, Kontrollkästchen). |
iconStyle |
IconStyle |
Darstellung der Symbole eines Parameters mit Symbol-Schaltflächen. |
name |
string |
Beschriftung des Parameters. |
values |
{string} |
Anzeigetexte der Auswahlmöglichkeiten (bei Symbol-Schaltflächen die Pfade der Symbole). |
numbers |
{number} |
Optionaler Wert je Auswahlmöglichkeit; ohne ihn ist der Wert der Index der Auswahl (ab 1). |
tooltips |
{string} |
Optionaler Tooltip je Auswahlmöglichkeit. |
defaultIndex |
integer |
|
hideLabel |
boolean |
Blendet im kompakten Modus die Beschriftung eines Parameters mit Symbol-Schaltflächen aus. |
| allows to delay onValueChange (e.g. when dragging a slider, it will delay onValueChange to mouse release) | ||
allowCoalesce |
boolean |
Funktionen
makeCompactButtonFn(value : number) : TreeNodeId base/tealdef/gui/main/script_param_util.d.tl:21
Hinweise
Optional; baut den Inhalt der Schaltfläche für einen Wert (im kompakten Modus und bei Schaltflächen-Auswahl) statt des üblichen Symbols oder Texts.
Rückgabe TreeNodeId
formatValueFn(value : number) : string base/tealdef/gui/main/script_param_util.d.tl:22
Hinweise
Optional; formatiert einen Wert für den Text neben einem Schieberegler.
Rückgabe string
stepValueFn(value : number, direction : integer, precise : boolean) : number base/tealdef/gui/main/script_param_util.d.tl:23
Die Spieldateien enthalten hierzu noch keine Beschreibung.
Rückgabe number
ScriptParamUtil.ParamForUi.IconStyle¶
enum base/tealdef/gui/main/script_param_util.d.tl:5
enum IconStyle
Hinweise
Darstellung von Symbol-Schaltflächen.
| Wert | Beschreibung |
|---|---|
"Default" |
Symbole unverändert. |
"Colored" |
Symbole mit der farbigen Style-Klasse forever-fair. |
ScriptParamUtil.CompSimpleParam¶
record base/tealdef/gui/main/script_param_util.d.tl:26
record CompSimpleParam is IRecipeParamWithMeta
Hinweise
Parameter von buildScriptParamCompSimple.
Im Basisspiel verwendet: 5-mal in 1 Datei
base/content/gui/gui/main/script_param_util.tl:145
Felder
| Name | Typ | Beschreibung |
|---|---|---|
scriptParam |
ParamForUi |
Der angezeigte Parameter. |
currentValue |
number |
Aktueller Wert (was die Werte bedeuten, steht bei ScriptParamUtil). |
toggleButtonsFlowLayout |
boolean |
Ordnet bei Schaltflächen-Parametern die Schaltflächen im Fluss an statt in gleich großen Zellen. |
vertical |
boolean |
Setzt die Beschriftung über das Widget statt links daneben; bei nil kommt das Widget ohne Beschriftung zurück. |
compact |
boolean |
Zeigt nur eine kleine Schaltfläche, die das vollständige Widget in einem Callout öffnet. |
addSpacer |
boolean |
Fügt rechts in der Zeile einen Abstandhalter ein. |
disableGamepadNavigation |
boolean |
Geht an das Widget (zum Beispiel den Schieberegler) und schaltet dessen Gamepad-Navigation ab. |
gameCtx |
GameContext |
Spielkontext; im kompakten Modus für den Callout-Container nötig. |
updateCurrentValue |
boolean |
Funktionen
onValueChange(number) base/tealdef/gui/main/script_param_util.d.tl:29
Hinweise
Wird mit dem neuen Wert aufgerufen, wenn der Spieler ihn ändert.
onHover(boolean) base/tealdef/gui/main/script_param_util.d.tl:35
Hinweise
Wird mit true oder false aufgerufen, wenn die Beschriftung Aufmerksamkeit bekommt oder verliert.