mission_task_util¶
Quelle: base/tealdef/mission/mission_task_util.d.tl
Hinweise
Deklarative Aufgabenbeschreibung (StaticTaskInfo) für Missions-Storys, dazu Helfer für Aufgabenschlüssel und Bereiche.
Globale Namen¶
Typen
| Name | Definition | Beschreibung |
|---|---|---|
MissionLocalization |
{{Engine.Entity, string}} |
Liste von Paaren { entity, name }, mit denen die Entitäten eines Missions-Spielstands umbenannt werden (siehe NameUtil.setName). |
MissionTaskUtil¶
record global base/tealdef/mission/mission_task_util.d.tl:5
global record MissionTaskUtil
Laden: local mission_task_util = ug_require "::/mission/mission_task_util.tl" as MissionTaskUtil
Hinweise
Deklarative Aufgabenbeschreibung für Storys, dazu Helfer für Aufgabenschlüssel und Bereiche.
Funktionen
makeTaskKey(taskKey : string, root : string) : string base/tealdef/mission/mission_task_util.d.tl:49
Aufruf: mission_task_util.makeTaskKey(…)
Hinweise
Baut den eindeutigen Schlüssel einer Aufgabe.
| Parameter | Typ | Beschreibung |
|---|---|---|
taskKey |
string |
Aufgabenschlüssel innerhalb der Story. |
root |
string |
Skriptschlüssel der Story (zum Beispiel "urbangames_campaign_mission_01::/mission/mission.script"). |
Rückgabe string: root .. "||" .. taskKey.
Im Basisspiel verwendet: 246-mal in 21 Dateien
base/content/mission/mission/mission_boot_util.tl:40
base/content/mission/mission/tutorial/tutorial_story.tl:904
local taskState = readOnlyApi.getTaskState(mission_task_util.makeTaskKey("road_depot", "::/mission/tutorial/tutorial.script"))
base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:96
local key = mission_task_util.makeTaskKey("a_store_harbor_position", "::/mission/tutorial/tutorial.script")
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:96
local key = mission_task_util.makeTaskKey("b_store_harbor_position", "::/mission/tutorial/tutorial.script")
base/content/mission/mission/tutorial/tutorial_story_util.tl:38
mods/release/urbangames_campaign_mission_01/content/mission/mission/mission_story.tl:123
… und 15 weitere Dateien.
makeJoinParams(keys : {string}, root : string, showProgress? : boolean) : MissionTaskJoin.Params base/tealdef/mission/mission_task_util.d.tl:50
Aufruf: mission_task_util.makeJoinParams(…)
Hinweise
Baut die Parameter einer Join-Aufgabe, die auf mehrere Aufgaben derselben Story wartet.
| Parameter | Typ | Beschreibung |
|---|---|---|
keys |
{string} |
Lokale Aufgabenschlüssel, auf die gewartet wird. |
root |
string |
Skriptschlüssel der Story. |
showProgress? |
boolean |
Zeigt den Fortschritt des Joins an. |
Rückgabe MissionTaskJoin.Params: Parameter für MissionTaskJoin.
Im Basisspiel verwendet: 37-mal in 19 Dateien
base/content/mission/mission/tutorial/tutorial_story.tl:757
taskParams = mission_task_util.makeJoinParams( { "road_stop_2_1", "road_stop_2_2" }, "::/mission/tutorial/tutorial.script", true),
base/content/mission/mission/tutorial/tutorial_story_branch_a.tl:239
taskParams = mission_task_util.makeJoinParams( { "a_line_commercial_assign_1", "a_line_commercial_assign_2" }, "::/mission/tutorial/tutorial.script", true),
base/content/mission/mission/tutorial/tutorial_story_branch_b.tl:249
taskParams = mission_task_util.makeJoinParams( { "b_line_industrial_1", "b_line_industrial_2" }, "::/mission/tutorial/tutorial.script", true),
mods/release/urbangames_campaign_mission_01/content/mission/mission/mission_story.tl:229
taskParams = mission_task_util.makeJoinParams( { "bulldoze" }, "urbangames_campaign_mission_01::/mission/mission.script"),
mods/release/urbangames_campaign_mission_01/content/mission/mission/mission_story_cutscenes_only.tl:181
taskParams = mission_task_util.makeJoinParams( { "wait" }, "urbangames_campaign_mission_01::/mission/mission.script"),
mods/release/urbangames_campaign_mission_02/content/mission/mission/mission_story.tl:331
… und 13 weitere Dateien.
locationButDistance(entity : Engine.Entity, distance : number) : MissionInterface.PosRadius base/tealdef/mission/mission_task_util.d.tl:51
Aufruf: mission_task_util.locationButDistance(…)
Hinweise
Baut einen Kreis um die Position einer Entität.
| Parameter | Typ | Beschreibung |
|---|---|---|
entity |
Engine.Entity |
Entität im Mittelpunkt. |
distance |
number |
Radius in Metern. |
Rückgabe MissionInterface.PosRadius: 2D-Kreis.
disallowAllVehicles(models : {any : string}) : {string : {integer, integer}} base/tealdef/mission/mission_task_util.d.tl:52
Aufruf: mission_task_util.disallowAllVehicles(…)
Hinweise
Ordnet jedem übergebenen Modellnamen {0, nil} zu.
| Parameter | Typ | Beschreibung |
|---|---|---|
models |
{any : string} |
Modellnamen. |
Rückgabe {string : {integer, integer}}: Modellname -> {0, nil}.
makeBoundingSphereFromEntity(entity : Engine.Entity) : MissionInterface.PosRadius base/tealdef/mission/mission_task_util.d.tl:54
Aufruf: mission_task_util.makeBoundingSphereFromEntity(…)
Hinweise
Baut eine Kugel um die Bounding Box einer Entität (bei Fahrzeugen um den ersten Wagen).
| Parameter | Typ | Beschreibung |
|---|---|---|
entity |
Engine.Entity |
Entität, die umschlossen wird. |
Rückgabe MissionInterface.PosRadius: Kugel oder nil, wenn die Entität kein Hüllvolumen hat.
mergeBoundingVolumes(entities : {Engine.Entity}, radiusOffset? : number) : MissionInterface.PosRadius base/tealdef/mission/mission_task_util.d.tl:55
Aufruf: mission_task_util.mergeBoundingVolumes(…)
Hinweise
Baut eine Kugel, die die Bounding Boxes mehrerer Entitäten umschließt.
| Parameter | Typ | Beschreibung |
|---|---|---|
entities |
{Engine.Entity} |
Entitäten, die umschlossen werden. Fehlende werden übersprungen. |
radiusOffset? |
number |
Zusätzlicher Radius in Metern. |
Rückgabe MissionInterface.PosRadius: Kugel oder eine leere Tabelle, wenn keine Entität ein Hüllvolumen hat.
Im Basisspiel verwendet: 4-mal in 2 Dateien
mods/release/urbangames_campaign_mission_02/content/mission/mission/mission_story.tl:205
mods/release/urbangames_campaign_mission_05/content/mission/mission/mission_story.tl:1425
mergeAreas(areas : {MissionInterface.PosRadius}, radiusOffset? : number) : MissionInterface.PosRadius base/tealdef/mission/mission_task_util.d.tl:56
Aufruf: mission_task_util.mergeAreas(…)
Hinweise
Baut eine Kugel, die mehrere Bereiche umschließt.
| Parameter | Typ | Beschreibung |
|---|---|---|
areas |
{MissionInterface.PosRadius} |
Bereiche, die umschlossen werden. |
radiusOffset? |
number |
Zusätzlicher Radius in Metern. |
Rückgabe MissionInterface.PosRadius: Umschließende Kugel oder nil bei leerer Liste.
Im Basisspiel verwendet: 6-mal in 3 Dateien
base/content/mission/mission/mission_framework/mission_framework_react.tl:129
mods/release/urbangames_campaign_mission_01/content/mission/mission/mission_story.tl:626
links = { pos_street = { location = mission_task_util.mergeAreas({params.connectStreets_1_1_zone, params.connectStreets_1_2_zone }, 20) } },
mods/release/urbangames_campaign_mission_02/content/mission/mission/mission_story.tl:1087
extractGenericParams(taskKey : string, getTaskData : function(string) : StaticTaskInfo) : MissionInterface.GenericTaskParams base/tealdef/mission/mission_task_util.d.tl:58
Aufruf: mission_task_util.extractGenericParams(…)
Hinweise
Wandelt die statische Beschreibung einer Aufgabe in ihre generischen Parameter um (Regellisten werden zu Maps).
| Parameter | Typ | Beschreibung |
|---|---|---|
taskKey |
string |
Lokaler Aufgabenschlüssel. |
getTaskData |
function(string) : StaticTaskInfo |
Aufgabendaten-Lookup der Story. |
Rückgabe MissionInterface.GenericTaskParams: Generische Parameter oder nil bei einer unbekannten Aufgabe.
getTaskInfo(taskKey : string, ctx : MissionInterface.TaskContext<any, any>, getTaskData : function(string) : StaticTaskInfo) : MissionInterface.TaskInfo base/tealdef/mission/mission_task_util.d.tl:59
Aufruf: mission_task_util.getTaskInfo(…)
Hinweise
Gibt die statische Aufgabeninfo einer Aufgabe zurück, ergänzt um den Fortschritt und den Fortschritt der Teilaufgaben zur Laufzeit.
| Parameter | Typ | Beschreibung |
|---|---|---|
taskKey |
string |
Lokaler Aufgabenschlüssel. |
ctx |
MissionInterface.TaskContext<any, any> |
Kontext der Aufgabe. |
getTaskData |
function(string) : StaticTaskInfo |
Aufgabendaten-Lookup der Story. |
Rückgabe MissionInterface.TaskInfo: Aufgabeninfo oder nil, wenn die Aufgabe keine hat.
getNonBulldozableEntitiesFromParams(params : table) : {Engine.Entity} base/tealdef/mission/mission_task_util.d.tl:61
Aufruf: mission_task_util.getNonBulldozableEntitiesFromParams(…)
Hinweise
Sammelt Entitäten aus einer Parametertabelle einer Mission anhand des Schlüsselpräfixes (Werte entity_*, Listen entityList_*, Map-Schlüssel entityMap_*).
| Parameter | Typ | Beschreibung |
|---|---|---|
params |
table |
Parametertabelle der Mission. |
Rückgabe {Engine.Entity}: Gesammelte Entitäten.
Im Basisspiel verwendet: 8-mal in 8 Dateien
mods/release/urbangames_campaign_mission_01/content/mission/mission/mission_story.tl:129
local nonBulldozableEntities = mission_task_util.getNonBulldozableEntitiesFromParams(params as table)
mods/release/urbangames_campaign_mission_02/content/mission/mission/mission_story.tl:277
mods/release/urbangames_campaign_mission_03/content/mission/mission/mission_story.tl:180
mods/release/urbangames_campaign_mission_04/content/mission/mission/mission_story.tl:118
mods/release/urbangames_campaign_mission_05/content/mission/mission/mission_story.tl:115
mods/release/urbangames_campaign_mission_06/content/mission/mission/mission_story.tl:456
… und 2 weitere Dateien.
MissionTaskUtil.FollowupDef¶
record base/tealdef/mission/mission_task_util.d.tl:7
record FollowupDef
Hinweise
Eine Aufgabe, die nach dem Erledigen einer anderen Aufgabe (oder beim Boot) hinzukommt, auf Wunsch nur unter einer Bedingung.
Beispiel
Im Basisspiel verwendet: 2-mal in 1 Datei
base/content/mission/mission/mission_boot_util.tl:10
Felder
| Name | Typ | Beschreibung |
|---|---|---|
taskKey |
string |
Aufgabenschlüssel innerhalb der Story. |
Funktionen
condition(MissionInterface.TaskContext<any, any>, function(string) : MissionInterface.TaskState<any, any>) base/tealdef/mission/mission_task_util.d.tl:9
Hinweise
Optionale Bedingung. Die Aufgabe kommt nur hinzu, wenn sie true zurückgibt.
| Parameter | Typ | Beschreibung |
|---|---|---|
#1 |
MissionInterface.TaskContext<any, any> |
Kontext der erledigten Aufgabe. |
#2 |
function(string) : MissionInterface.TaskState<any, any> |
Funktion, die den Zustand einer anderen Aufgabe über deren lokalen Aufgabenschlüssel liefert. |
MissionTaskUtil.StaticTaskInfo¶
record base/tealdef/mission/mission_task_util.d.tl:12
record StaticTaskInfo
Hinweise
Statische Beschreibung einer Aufgabe in einer Story. Sie nennt das Skript, das die Aufgabe ausführt, ihre Parameter, die Anzeige in der GUI und die folgenden Aufgaben.
Details
Die Aufgabendaten-Factory der Story liefert sie für jeden Aufgabenschlüssel. Die Felder außer
taskScript, taskParams, taskInfo, guideInfo und followup werden zu den
MissionInterface.GenericTaskParams der Aufgabe (visible/invisible/enabled/disabled werden
in Regel-Maps umgewandelt).
Beispiel
-- urbangames_campaign_mission_01 mission_story.tl
if taskKey == "find_alligators_end" then
return {
taskScript = page as MissionInterface.TaskScript<any, any>,
taskInfo = {
name = _("MISSION_01_TASK_FIND_ALLIGATORS_END_NAME"),
options = { { text = _("MISSION_01_TASK_FIND_ALLIGATORS_END_BUTTON_1"), key = "finish" } },
},
followup = {
{ taskKey = "build_path_task" },
{ taskKey = "build_path_task_cutscene" },
},
highlightRules = { {"menu.mission.task-button", "Square"} },
notificationFilter = { ["::/landmarks/landmarks_notification.script"] = true },
}
end
Im Basisspiel verwendet: 50-mal in 42 Dateien
base/content/mission/mission/guide_system/main/guide_system.tl:3
local taskDataFactory = ug_require "guide_system_story.tl" as function(taskKey : string) : MissionTaskUtil.StaticTaskInfo
base/content/mission/mission/guide_system/main/guide_system_story.tl:4
base/content/mission/mission/mission_boot_util.tl:6
base/content/mission/mission/mission_task_util.tl:37
function mission_task_util.extractGenericParams(taskKey : string, getTaskData : function(string) : MissionTaskUtil.StaticTaskInfo) : MissionInterface.GenericTas
base/content/mission/mission/tutorial/guide_system/guide_system.tl:3
local taskDataFactory = ug_require "::/mission/tutorial/guide_system/guide_system_story.tl" as function(taskKey : string) : MissionTaskUtil.StaticTaskInfo
base/content/mission/mission/tutorial/guide_system/guide_system_story.tl:12
… und 36 weitere Dateien.
Felder
| Name | Typ | Beschreibung |
|---|---|---|
isBonusTask |
boolean |
Kennzeichnet die Aufgabe als Bonusmission. |
taskScript |
MissionInterface.TaskScript<any, any> |
Skript, das die Aufgabe umsetzt (einer der Aufgabentypen unter mission/tasks/** oder ein eigener). |
taskKey |
string |
Aufgabenschlüssel. |
taskParams |
any |
Parameter des Aufgabenskripts (sein Params-Record). |
medals |
{string : boolean} |
Medaillen-IDs, die vergeben sind, solange diese Aufgabe existiert (zum Beispiel { MISSION_01_MEDAL_1 = true }). |
stars |
{string : boolean} |
Stern-IDs und ihr Zustand. |
visible |
{string} |
GUI-Klassen, die sichtbar sind, solange die Aufgabe offen ist. |
invisible |
{string} |
GUI-Klassen, die ausgeblendet sind, solange die Aufgabe offen ist. |
enabled |
{string} |
GUI-IDs/-Tags, die aktiviert sind, solange die Aufgabe offen ist. |
disabled |
{string} |
GUI-IDs/-Tags, die deaktiviert sind, solange die Aufgabe offen ist (zum Beispiel "menu.construction.rail"). |
highlightRules |
{{string, MissionInterface.HighlightStyle}} |
Liste von Paaren { GUI id/tag, highlight style }. |
taskInfo |
MissionInterface.TaskInfo |
Only to be used in a mission |
guideInfo |
MissionInterface.GuideInfo |
Only to be used in the guide system |
omitNotificationOnComplete |
boolean |
Unterdrückt die Benachrichtigung beim Erledigen. |
disableGuideSystem |
boolean |
Hält das Spielführer-System inaktiv, solange die Aufgabe offen ist. |
startSoundtrack |
string |
Musiktrack, der beim Öffnen der Aufgabe startet. |
soundtrack |
MissionInterface.MissionSoundtrack |
Trackliste, die läuft, solange die Aufgabe offen ist. |
playlistOverride |
ResName |
Playlist, die gilt, solange die Aufgabe offen ist. |
allowBuyVehicles |
{string : integer} |
(modelname -> count, minCount) |
allowBuyVehicleGroups |
{string : {{string}, integer}} |
id, -> modelnames, count |
lockedVehicles |
{Engine.Entity} |
entity ids that may not be sold |
followup |
{FollowupDef} |
Aufgaben, die beim Erledigen dieser Aufgabe hinzukommen. |
vehicleFilter |
GameContext.Filters.VehicleFilter |
Filter für den Fahrzeugladen, solange die Aufgabe offen ist. |
notificationFilter |
{string : boolean} |
Benachrichtigungstypen, die ausgeblendet sind, solange die Aufgabe offen ist. |
menuFilter |
GameContext.Filters.MenuFilter |
Menüeinträge, die aktiviert oder deaktiviert sind, solange die Aufgabe offen ist. |
selectorEntityFilter |
{Engine.Entity : boolean} |
Filter für die Auswahl von Entitäten, solange die Aufgabe offen ist. |
disableFeatures |
{DisableFeatures : boolean} |
GUI-Funktionen, die abgeschaltet sind, solange die Aufgabe offen ist. |
requiredTaskToComplete |
string |
taskkey <- mission_task_util.makeTaskKey |
allowSimultaneousUiTasks |
{string} |
taskkey <- mission_task_util.makeTaskKey |
spawnGuide |
{string} |
Skript-Events, die beim Hinzufügen der Aufgabe gesendet werden (zum Beispiel "spawn-camera-guide"). |
showInHistory |
boolean |
Führt die Aufgabe nach dem Erledigen weiter auf und sendet eine Benachrichtigung. |
suppressAutoOpen |
boolean |
Verhindert, dass sich das Missionsfenster für diese Aufgabe automatisch öffnet. |
financialReward |
integer |
Geldbetrag in Spielwährung, der beim Erledigen der Aufgabe ausgezahlt wird. |