Zum Inhalt

mission_task_wait_for

Quelle: base/tealdef/mission/tasks/wait/mission_task_wait_for.d.tl

Hinweise

Aufgabe, die abgeschlossen ist, sobald eine Bedingungsfunktion true liefert, optional mit Countdown.

MissionTaskWaitFor

record global base/tealdef/mission/tasks/wait/mission_task_wait_for.d.tl:3

global record MissionTaskWaitFor is MissionInterface.TaskScript<MissionTaskWaitFor.State, MissionTaskWaitFor.Params>

Laden: local wait_for = ug_require "::/mission/tasks/wait/wait_for.tl" as MissionTaskWaitFor

Hinweise

Aufgabe (wait_for), die abgeschlossen ist, sobald waitFn true liefert. Mit countdown endet sie auch, wenn die Zeit abläuft, und zeigt die Restzeit als Fortschritt einer Teilaufgabe.

Beispiel

-- urbangames_campaign_mission_02: warten, bis ein Zug eine Zone erreicht
taskScript = wait_for as MissionInterface.TaskScript<any, any>,
taskParams = {
    waitFn = function(_readOnlyApi : MissionInterface.MissionTaskReadOnlyApi) : boolean
        local entities = api.engine.util.octree.findEntitiesInCircle(
            api.type.Vec2f.new(params.waitForMachinesZone1.pos[1], params.waitForMachinesZone1.pos[2]),
            params.waitForMachinesZone1.radius, api.type.ComponentType.CARRIAGE)
        return #entities > 0
    end,
},

MissionTaskWaitFor.Params

record base/tealdef/mission/tasks/wait/mission_task_wait_for.d.tl:4

record Params

Hinweise

Parameter der Aufgabe.

Im Basisspiel verwendet: 4-mal in 2 Dateien

base/content/mission/mission/tasks/wait/wait_for.tl:6

local type P = MissionTaskWaitFor.Params
mods/release/urbangames_campaign_mission_08/content/mission/mission/mission_story.tl:753
local hasFailed = (getTaskState("wait_for_rocket_start") as MissionInterface.TaskState<MissionTaskWaitFor.State, MissionTaskWaitFor.Params>).specific.hasFailed

Felder

Name Typ Beschreibung
zones {MissionInterface.Zone} Zonen, die während des Wartens angezeigt werden.
markers {MissionInterface.Marker} Marker, die während des Wartens angezeigt werden.
simTimeMinutesToComplete integer Länge des Countdowns in Simulationsminuten (Spielzeit); Pflicht bei countdown.
countdown boolean Beendet die Aufgabe (als gescheitert), wenn der Countdown abläuft.

Funktionen

waitFn(readOnlyApi : MissionInterface.MissionTaskReadOnlyApi) : boolean base/tealdef/mission/tasks/wait/mission_task_wait_for.d.tl:5

Hinweise

Bedingung, die bei jedem Update geprüft wird (Pflicht).

Parameter Typ Beschreibung
readOnlyApi MissionInterface.MissionTaskReadOnlyApi Missions-API mit reinem Lesezugriff.

Rückgabe boolean: true, um die Aufgabe abzuschließen.

getZones() : {MissionInterface.Zone} base/tealdef/mission/tasks/wait/mission_task_wait_for.d.tl:8

Hinweise

Gibt die anzuzeigenden Zonen zurück; hat Vorrang vor zones.

Rückgabe {MissionInterface.Zone}: Zonen.

getMarkers() : {MissionInterface.Marker} base/tealdef/mission/tasks/wait/mission_task_wait_for.d.tl:9

Hinweise

Gibt die anzuzeigenden Marker zurück; hat Vorrang vor markers.

Rückgabe {MissionInterface.Marker}: Marker.

MissionTaskWaitFor.State

record base/tealdef/mission/tasks/wait/mission_task_wait_for.d.tl:14

record State

Hinweise

Zustand der Aufgabe.

Im Basisspiel verwendet: 4-mal in 2 Dateien

base/content/mission/mission/tasks/wait/wait_for.tl:5

local type S = MissionTaskWaitFor.State
mods/release/urbangames_campaign_mission_08/content/mission/mission/mission_story.tl:753
local hasFailed = (getTaskState("wait_for_rocket_start") as MissionInterface.TaskState<MissionTaskWaitFor.State, MissionTaskWaitFor.Params>).specific.hasFailed

Felder

Name Typ Beschreibung
isComplete boolean Letztes Ergebnis von waitFn.
hasFailed boolean Der Countdown ist abgelaufen.
currentSimTimeMs integer Spielzeit (ms) des letzten Updates.
initialSimTimeMs integer Spielzeit (ms), zu der der Countdown begann.
endSimTimeMs integer Spielzeit (ms), zu der der Countdown endet.