Skip to content

mission_task_wait_ui_event

Source: base/tealdef/mission/tasks/wait/mission_task_wait_ui_event.d.tl

Notes

Task that completes when a matching GUI event arrives.

MissionTaskWaitUiEvent

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

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

Load: local wait_ui_event = ug_require "::/mission/tasks/wait/wait_ui_event.tl"

Notes

Task (wait_ui_event) that completes when a GUI event matches one of the candidates, optionally after an extra instruction has played, or after a timeout.

Example

-- urbangames_campaign_mission_02: wait until a window is closed (at most 5 s)
taskScript = wait_ui_event as MissionInterface.TaskScript<any, any>,
taskParams : MissionTaskWaitUiEvent.Params = {
    candidates = {
        { name = "window.close" },
    },
    timeoutIfNoEvent = 5,
},

MissionTaskWaitUiEvent.EventDesc

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

record EventDesc

Notes

GUI event pattern; nil fields match anything, param is compared deeply.

Used in the base game: 1 time in 1 file

base/content/mission/mission/tasks/wait/wait_ui_event.tl:8

Complete = function(missionState : TaskContext<S, P>, result : MissionTaskWaitUiEvent.EventDesc)

Fields

Name Type Description
src string Event source.
id string Event id (e.g. "VehicleStoreBrowser").
name string Event name (e.g. "open", "window.close").
param any Event parameter.

MissionTaskWaitUiEvent.Params

record base/tealdef/mission/tasks/wait/mission_task_wait_ui_event.d.tl:10

record Params

Notes

Params of the task.

Used in the base game: 10 times in 4 files

base/content/mission/mission/tutorial/tutorial_story.tl:537

taskParams : MissionTaskWaitUiEvent.Params = {
base/content/mission/mission/tasks/wait/wait_ui_event.tl:4
local type P = MissionTaskWaitUiEvent.Params
mods/release/urbangames_campaign_mission_02/content/mission/mission/mission_story.tl:472
taskParams : MissionTaskWaitUiEvent.Params = {
mods/release/urbangames_campaign_mission_06/content/mission/mission/mission_story.tl:968
taskParams : MissionTaskWaitUiEvent.Params = {

Fields

Name Type Description
candidates {EventDesc} GUI event patterns; any match completes the task.
instructionKeyOnComplete string Instruction key queued after the event; the task completes when that instruction has finished playing.
timeoutIfNoEvent number Completes the task after this many GUI seconds even without an event.

Functions

paramValidateFn(param : any) : boolean base/tealdef/mission/tasks/wait/mission_task_wait_ui_event.d.tl:14

Notes

Extra check of the event parameter.

Parameter Type Description
param any Event parameter.

Returns boolean: true to accept the event.

MissionTaskWaitUiEvent.State

record base/tealdef/mission/tasks/wait/mission_task_wait_ui_event.d.tl:17

record State

Notes

State of the task.

Used in the base game: 1 time in 1 file

base/content/mission/mission/tasks/wait/wait_ui_event.tl:3

local type S = MissionTaskWaitUiEvent.State

Fields

Name Type Description
observed EventDesc The candidate that matched.
timeoutEndTime number GUI time (seconds) of the timeout.