Skip to content

mission_framework_util

Source: base/tealdef/mission/mission_framework/mission_framework_util.d.tl

Notes

Low-level access to task vtables, task contexts and the mission state.

MissionFrameworkUtil

record global base/tealdef/mission/mission_framework/mission_framework_util.d.tl:3

global record MissionFrameworkUtil

Load: local mission_framework_util = ug_require "::/mission/mission_framework/mission_framework_util.tl"

Notes

Low-level access to task vtables, task contexts and the saved mission state.

Functions

getVTable(config : MissionInterface.TaskConfig) : MissionInterface.TaskVTable<any, any> base/tealdef/mission/mission_framework/mission_framework_util.d.tl:4

Call as mission_framework_util.getVTable

Notes

Resolves (and caches by unique key) the vtable of a task by calling its getVTableScriptFn.

Parameter Type Description
config MissionInterface.TaskConfig Task identification.

Returns MissionInterface.TaskVTable<any, any>: Vtable, or nil if the function cannot be found.

Used in the base game: 15 times in 5 files

base/content/mission/mission/mission_sim.script.tl:89

local vtable = mission_framework_util.getVTable(taskConfig)
base/content/mission/mission/notification.script.tl:20
local vtable = mission_framework_util.getVTable(config)
base/content/mission/mission/mission_framework/mission_legacy_util.tl:40
local vtable = mission_framework_util.getVTable(task.genericState.config)
base/content/mission/mission/mission_framework/mission_framework_react.tl:60
local vtable = mission_framework_util.getVTable(task.genericState.config)
base/content/mission/mission/guide_system/guide_system_react.tl:32
local vtable = mission_framework_util.getVTable(task.genericState.config)

makeTaskContext<TaskSpecificState, TaskSpecificParams>(data : MissionInterface.TaskState<TaskSpecificState, TaskSpecificParams>, guiTimeSeconds? : number) : MissionInterface.TaskContext<TaskSpecificState, TaskSpecificParams> base/tealdef/mission/mission_framework/mission_framework_util.d.tl:5

Call as mission_framework_util.makeTaskContext

Notes

Builds the context passed to task callbacks from a saved task state.

Parameter Type Description
data MissionInterface.TaskState<TaskSpecificState, TaskSpecificParams> Saved task state.
guiTimeSeconds? number Current mission GUI time in seconds.

Returns MissionInterface.TaskContext<TaskSpecificState, TaskSpecificParams>: Context with state, generic state, params and GUI time.

Used in the base game: 11 times in 5 files

base/content/mission/mission/mission_sim.script.tl:102

local taskInfo = vtable.getTaskInfo and vtable.getTaskInfo(mission_framework_util.makeTaskContext(newTask as MissionInterface.TaskState<any, any>, state.guiTime
base/content/mission/mission/notification.script.tl:22
local info = vtable.getTaskInfo(mission_framework_util.makeTaskContext(v)) as MissionInterface.TaskInfo
base/content/mission/mission/mission_framework/mission_legacy_util.tl:48
local ctx = mission_framework_util.makeTaskContext(task, missionState.guiTimeSeconds)
base/content/mission/mission/mission_framework/mission_framework_react.tl:71
vtable.getTaskInfo(mission_framework_util.makeTaskContext(task, guiTimeSeconds))
base/content/mission/mission/guide_system/guide_system_react.tl:33
result.info = vtable.getGuideInfo(mission_framework_util.makeTaskContext(task, missionState.guiTimeSeconds))

findTask(uniqueTaskKey : string) : MissionInterface.TaskState<any, any> base/tealdef/mission/mission_framework/mission_framework_util.d.tl:6

Call as mission_framework_util.findTask

Notes

Looks up a task in the state of the ::mission/mission.gs game script.

Parameter Type Description
uniqueTaskKey string Key from MissionTaskUtil.makeTaskKey.

Returns MissionInterface.TaskState<any, any>: The task's state, or nil.

Used in the base game: 8 times in 8 files

mods/release/urbangames_campaign_mission_03/content/mission/mission/tasks/everything/everything.tl:26

local waitForTask = mission_framework_util.findTask(ctx.params)
mods/release/urbangames_campaign_mission_07/content/mission/mission/tasks/everything/everything.tl:31
local waitForTask = mission_framework_util.findTask(ctx.params)
mods/release/urbangames_campaign_mission_02/content/mission/mission/tasks/everything/everything.tl:25
local waitForTask = mission_framework_util.findTask(ctx.params)
mods/release/urbangames_campaign_mission_06/content/mission/mission/tasks/everything/everything.tl:25
local waitForTask = mission_framework_util.findTask(ctx.params)
mods/release/urbangames_campaign_mission_01/content/mission/mission/tasks/everything/everything.tl:24
local waitForTask = mission_framework_util.findTask(ctx.params)
mods/release/urbangames_campaign_mission_05/content/mission/mission/tasks/everything/everything.tl:25
local waitForTask = mission_framework_util.findTask(ctx.params)
… and 2 more files.