Constructor


Timer(active: any)

Arguments:

active: any




Methods


Timer:after(delay: number, func: fun())

Runs a function after a given amount of time has passed.

@param delay — The time, in seconds, to wait before executing the function.

@param func — The function to execute.

Arguments:

delay: number

The time, in seconds, to wait before executing the function.

func: fun()

The function to execute.

Returns:

handle: table


Timer:afterCond(condition: fun()boolean, func: fun())

Runs a function once a given condition is met.

@param condition — The condition function. Should return the value of the condition to check.

@param func — The function to execute once the condition is true.

Arguments:

condition: fun()boolean

The condition function. Should return the value of the condition to check.

func: fun()

The function to execute once the condition is true.

Returns:

handle: table


Timer:approach(time: number, from: number, to: number, callback: fun( number), easing: ("in-back"|"in-bounce"|"in-circ"|"in-cubic"|"in-elastic"...(+66))?, after: fun()?)

Tweens from one number to another over a period of time.

@param time — The time it will take to complete the tween, measured in seconds.

@param from — The starting value.

@param to — The target value.

@param callback — A function that gets called every frame during the tween. The current value of the tween is passed in as an argument to this function.

@param easing — The easing type to use.

@param after — A callback to run when the tween is finished.

easing:
    | "linear"
    | "in-quad"
    | "in-cubic"
    | "in-quart"
    | "in-quint"
    | "in-sine"
    | "in-expo"
    | "in-circ"
    | "in-back"
    | "in-bounce"
    | "in-elastic"
    | "out-quad"
    | "out-cubic"
    | "out-quart"
    | "out-quint"
    | "out-sine"
    | "out-expo"
    | "out-circ"
    | "out-back"
    | "out-bounce"
    | "out-elastic"
    | "in-out-quad"
    | "in-out-cubic"
    | "in-out-quart"
    | "in-out-quint"
    | "in-out-sine"
    | "in-out-expo"
    | "in-out-circ"
    | "in-out-back"
    | "in-out-bounce"
    | "in-out-elastic"
    | "inQuad"
    | "outQuad"
    | "inOutQuad"
    | "outInQuad"
    | "inCubic"
    | "outCubic"
    | "inOutCubic"
    | "outInCubic"
    | "inQuart"
    | "outQuart"
    | "inOutQuart"
    | "outInQuart"
    | "inQuint"
    | "outQuint"
    | "inOutQuint"
    | "outInQuint"
    | "inSine"
    | "outSine"
    | "inOutSine"
    | "outInSine"
    | "inExpo"
    | "outExpo"
    | "inOutExpo"
    | "outInExpo"
    | "inCirc"
    | "outCirc"
    | "inOutCirc"
    | "outInCirc"
    | "inElastic"
    | "outElastic"
    | "inOutElastic"
    | "outInElastic"
    | "inBack"
    | "outBack"
    | "inOutBack"
    | "outInBack"
    | "inBounce"
    | "outBounce"
    | "inOutBounce"
    | "outInBounce"

Arguments:

time: number

The time it will take to complete the tween, measured in seconds.

from: number

The starting value.

to: number

The target value.

callback: fun( number)

A function that gets called every frame during the tween. The current value of the tween is passed in as an argument to this function.

easing: ("in-back"|"in-bounce"|"in-circ"|"in-cubic"|"in-elastic"...(+66))?

The easing type to use.

after: fun()?

A callback to run when the tween is finished.

Returns:

handle: table


Timer:cancel(handle: table)

Cancels a timer completely.

@param handle — The handle of the timer to cancel.

Arguments:

handle: table

The handle of the timer to cancel.



Timer:clear()

Resets this timer, removing all attached handles.



Timer:doWhile(condition: fun()boolean, func: fun(), after: fun()?)

Runs a function every frame while a given condition is true.

@param condition — The condition function. Should return the value of the condition to check.

@param func — The function to execute.

@param after — A function to execute when the condition stops being true.

Arguments:

condition: fun()boolean

The condition function. Should return the value of the condition to check.

func: fun()

The function to execute.

after: fun()?

A function to execute when the condition stops being true.

Returns:

handle: table


Timer:during(delay: number, func: fun()boolean?, after: fun()?)

Runs a function every frame for a given interval.

@param delay — The time to run this function for, in seconds.

@param func — The function to execute. If this returns false, it will stop this timer early.

@param after — A function to execute when this timer finishes.

Arguments:

delay: number

The time to run this function for, in seconds.

func: fun()boolean?

The function to execute. If this returns false, it will stop this timer early.

after: fun()?

A function to execute when this timer finishes.

Returns:

handle: table


Timer:every(delay: number, func: fun()boolean?, count: number?)

Runs a function at fixed intervals.

@param delay — The time between calls to the function, in seconds.

@param func — The function to execute. If this returns false, it will stop this timer.

@param count — The total number of times the function will run, if provided.

Arguments:

delay: number

The time between calls to the function, in seconds.

func: fun()boolean?

The function to execute. If this returns false, it will stop this timer.

count: number?

The total number of times the function will run, if provided.

Returns:

handle: table


Timer:everyInstant(delay: number, func: fun()boolean?, count: number?)

Runs a function at fixed intervals, as well as once instantly.

@param delay — The time between calls to the function, in seconds.

@param func — The function to execute. If this returns false, it will stop this timer.

@param count — The total number of times the function will run, if provided.

Arguments:

delay: number

The time between calls to the function, in seconds.

func: fun()boolean?

The function to execute. If this returns false, it will stop this timer.

count: number?

The total number of times the function will run, if provided.

Returns:

handle: table


Timer:pause(handle: table)

Pauses a specific timer indefinitely. It can be unpaused with Timer:unpause(handle).

@param handle — The handle of the timer to pause.

Arguments:

handle: table

The handle of the timer to pause.



Timer:script(func: fun( fun( number)))

Runs a function as a coroutine.

@param func — The function to execute. The wait parameter of this function can be called to pause the coroutine of this script.

Arguments:

func: fun( fun( number))

The function to execute. The wait parameter of this function can be called to pause the coroutine of this script.

Returns:

handle: table


Timer:tween(duration: number, subject: table, target: string, value, method: ("in-back"|"in-bounce"|"in-circ"|"in-cubic"|"in-elastic"...(+66))?, after: fun()?, : unknown)

Performs in-betweening (tweening) of a value on an object from its current value to another.

@param duration — The time the tween will take place over, in seconds.

@param subject — The object to be tweened.

@param target — A table containing the keys in the subject table that should be tweened, and their target values.

@param method — The easing method to use, defaults to linear.

@param after — A function to run once the tween has finished.

@param ... — Additional arguments to the tweening function.

method:
    | "linear"
    | "in-quad"
    | "in-cubic"
    | "in-quart"
    | "in-quint"
    | "in-sine"
    | "in-expo"
    | "in-circ"
    | "in-back"
    | "in-bounce"
    | "in-elastic"
    | "out-quad"
    | "out-cubic"
    | "out-quart"
    | "out-quint"
    | "out-sine"
    | "out-expo"
    | "out-circ"
    | "out-back"
    | "out-bounce"
    | "out-elastic"
    | "in-out-quad"
    | "in-out-cubic"
    | "in-out-quart"
    | "in-out-quint"
    | "in-out-sine"
    | "in-out-expo"
    | "in-out-circ"
    | "in-out-back"
    | "in-out-bounce"
    | "in-out-elastic"
    | "inQuad"
    | "outQuad"
    | "inOutQuad"
    | "outInQuad"
    | "inCubic"
    | "outCubic"
    | "inOutCubic"
    | "outInCubic"
    | "inQuart"
    | "outQuart"
    | "inOutQuart"
    | "outInQuart"
    | "inQuint"
    | "outQuint"
    | "inOutQuint"
    | "outInQuint"
    | "inSine"
    | "outSine"
    | "inOutSine"
    | "outInSine"
    | "inExpo"
    | "outExpo"
    | "inOutExpo"
    | "outInExpo"
    | "inCirc"
    | "outCirc"
    | "inOutCirc"
    | "outInCirc"
    | "inElastic"
    | "outElastic"
    | "inOutElastic"
    | "outInElastic"
    | "inBack"
    | "outBack"
    | "inOutBack"
    | "outInBack"
    | "inBounce"
    | "outBounce"
    | "inOutBounce"
    | "outInBounce"

Arguments:

duration: number

The time the tween will take place over, in seconds.

subject: table

The object to be tweened.

target: string, value

A table containing the keys in the subject table that should be tweened, and their target values.

method: ("in-back"|"in-bounce"|"in-circ"|"in-cubic"|"in-elastic"...(+66))?

The easing method to use, defaults to linear.

after: fun()?

A function to run once the tween has finished.

: unknown

Additional arguments to the tweening function.

Returns:

handle: table


Timer:unpause(handle: table)

Resumes a timer previously paused with Timer:pause(handle).

@param handle — The handle of the timer to resume.

Arguments:

handle: table

The handle of the timer to resume.






Fields



Undocumented