gameDelaySystem
Description
Allows to schedule callbacks, events or system requests in various ways. Time / delay is expressed in seconds.
callback is triggered only once, but nothing prevents from rescheduling it manually at your convenience.
callback will not get triggered when set over a certain delay (like 1 or 3 minutes), but nothing prevents from rescheduling while keeping track of how long has elapsed, with a timestamp (see [TimeSystem]).
[DelayID] can be kept around to interrupt a running callback, event or tick anytime (see [this.CancelDelay], [this.CancelEvent] and [this.CancelTick]). You can also check how long remains before being eventually called (see [this.GetRemainingDelayTime]).
Functions
DelayCallback(delayCallback: handle:gameDelaySystemScriptedDelayCallbackWrapper, timeToDelay: Float, opt isAffectedByTimeDilation: Bool) -> gameDelayID
timeToDelay
: delay duration in seconds.isAffectedByTimeDilation
: whether callback will be slowed down based on current active time dilation (e.g. when time slows during Sandevistan).
More info and code snippets there.
DelayEvent(entity: whandle:entEntity, eventToDelay: handle:redEvent, timeToDelay: Float, opt isAffectedByTimeDilation: Bool) -> gameDelayID
Supports any class inheriting from [Event], including custom ones.
More info and code snippets there.
GetRemainingDelayTime(delayID: gameDelayID) -> Float
How long remains before associated callback, event or tick gets called.
TickOnEvent(entity: whandle:entEntity, eventToTick: handle:gameTickableEvent, duration: Float) -> gameDelayID
More info and code snippets there.
Last updated