Timer
Execute code at specified time intervals.
🗿Static Class
This is a Static Class. Access it's methods directly with
.
. It's not possible to spawn new instances.info
The shortest interval possible is equal to the local Tick Rate - usually at 33ms. On the Server this can vary depending on the Config.toml setting.
Examples​
-- creates a Interval to call a function at every 2 seconds
local my_interval = Timer.SetInterval(function(param1, param2)
Console.Log("Triggered each 2 seconds! Param1: " .. param1 .. ". Param2: " .. param2)
end, 2000, "awesome param 1", 456)
-- cancels the Interval
Timer.ClearInterval(my_interval)
-- creates a Timeout to call my_function in 5 seconds, once - passing a parameter
Timer.SetTimeout(function(my_param)
Console.Log("HELIX " .. my_param)
end, 5000, "world")
local character = Character(...)
local my_timer = Timer.SetTimeout(function(_character)
-- Do something with _character
-- Ex: Destroy the character after 10 seconds
_character:Destroy()
end, 10000, character)
-- Binds the Timer to the Character
-- This will ensure it will never trigger if the character is destroyed before it
-- With this you don't need to validate if the '_character' parameter is valid
Timer.Bind(my_timer, character)
Static Functions​
Returns | Name | Description | |
---|---|---|---|
integer | SetTimeout | Executes a function, after waiting a specified number of milliseconds | |
integer | SetInterval | Same as SetTimeout(), but repeats the execution of the function continuously | |
ClearTimeout | Stops the execution of the function specified in SetTimeout() | ||
ClearInterval | Stops the execution of the function specified in SetInterval() | ||
Bind | Binds a Timer to any Actor. The timer will be automatically cleared when the Actor is destroyed | ||
boolean | IsValid | Checks if a Timer is currently active or waiting to be triggered | |
float | GetElapsedTime | Returns the time elapsed since the last tick | |
float | GetRemainingTime | Returns the time remaining to the next tick | |
Pause | Pauses the Timer | ||
Resume | Resumes the Timer | ||
ResetElapsedTime | Resets a Timer to start from beginning |
SetTimeout
​
Executes a function, after waiting a specified number of milliseconds
— Returns integer (the timeout_id).
local ret = Timer.SetTimeout(callback, milliseconds?, parameters...?)
Type | Parameter | Default | Description |
---|---|---|---|
function | callback | The callback that will be executed | |
integer | milliseconds? | 0 | The time in milliseconds to wait before executing the function |
any | parameters...? | nil | Additional parameters to pass to the function |
SetInterval
​
Same as SetTimeout(), but repeats the execution of the function continuously
— Returns integer (the interval_id).
local ret = Timer.SetInterval(callback, milliseconds?, parameters...?)
Type | Parameter | Default | Description |
---|---|---|---|
function | callback | The callback that will be executed. Return false to stop it from being called. | |
integer | milliseconds? | 0 | The time in milliseconds the timer should delay in between executions of the specified function |
any | parameters...? | nil | Additional parameters to pass to the function |
ClearTimeout
​
Stops the execution of the function specified in SetTimeout()
Timer.ClearTimeout(timeout_id)
Type | Parameter | Default | Description |
---|---|---|---|
integer | timeout_id | The ID value returned by SetTimeout() is used as the parameter for this method |
ClearInterval
​
Stops the execution of the function specified in SetInterval()
Timer.ClearInterval(interval_id)
Type | Parameter | Default | Description |
---|---|---|---|
integer | interval_id | The ID value returned by SetInterval() is used as the parameter for this method |
Bind
​
Binds a Timer to any Actor. The timer will be automatically cleared when the Actor is destroyed
Timer.Bind(timer_id, actor)
Type | Parameter | Default | Description |
---|---|---|---|
integer | timer_id | The Timer ID | |
Base Actor | actor | Actor to be bound |
IsValid
​
Checks if a Timer is currently active or waiting to be triggered
— Returns boolean.
local ret = Timer.IsValid(timer_id)
Type | Parameter | Default | Description |
---|---|---|---|
integer | timer_id | The Timer ID |
GetElapsedTime
​
Returns the time elapsed since the last tick
— Returns float.
local ret = Timer.GetElapsedTime(timer_id)
Type | Parameter | Default | Description |
---|---|---|---|
integer | timer_id | The Timer ID |
GetRemainingTime
​
Returns the time remaining to the next tick
— Returns float.
local ret = Timer.GetRemainingTime(timer_id)
Type | Parameter | Default | Description |
---|---|---|---|
integer | timer_id | The Timer ID |
Pause
​
Pauses the Timer
Timer.Pause(timer_id)
Type | Parameter | Default | Description |
---|---|---|---|
integer | timer_id | The Timer ID |
Resume
​
Resumes the Timer
Timer.Resume(timer_id)
Type | Parameter | Default | Description |
---|---|---|---|
integer | timer_id | The Timer ID |
ResetElapsedTime
​
Resets a Timer to start from beginning
Timer.ResetElapsedTime(timer_id)
Type | Parameter | Default | Description |
---|---|---|---|
integer | timer_id | The Timer ID |