mirror of
https://github.com/Insality/druid
synced 2025-06-26 18:07:46 +02:00
2.6 KiB
2.6 KiB
druid.timer API
at /druid/extended/timer.lua
Druid component to handle timer work on gui text node. Displays time in a formatted way.
Setup
Create timer component with druid: timer = druid:new_timer(text_node, from_seconds, to_seconds, callback)
Notes
- Timer fires callback when timer value equals to to_seconds
- Timer will set text node with current timer value
- Timer uses update function to handle time
Functions
Fields
init
timer:init(node, [seconds_from], [seconds_to], [callback])
-
Parameters:
node
(node): Gui text node[seconds_from]
(number|nil): Start timer value in seconds[seconds_to]
(number|nil): End timer value in seconds[callback]
(function|nil): Function that triggers when timer value equals to seconds_to
-
Returns:
- `` (druid.timer):
set_to
timer:set_to(set_to)
Set the timer to a specific value
-
Parameters:
set_to
(number): Value in seconds
-
Returns:
self
(druid.timer): Current timer instance
set_state
timer:set_state([is_on])
Set the timer to a specific value
-
Parameters:
[is_on]
(boolean|nil): Timer enable state
-
Returns:
self
(druid.timer): Current timer instance
set_interval
timer:set_interval(from, to)
Set the timer interval
-
Parameters:
from
(number): Start time in secondsto
(number): Target time in seconds
-
Returns:
self
(druid.timer): Current timer instance
Fields
- on_tick (event): fun(context, value) The event triggered when the timer ticks
- on_set_enabled (event): fun(context, is_on) The event triggered when the timer is enabled
- on_timer_end (event): fun(context) The event triggered when the timer ends
- node (node): The node to display the timer
- from (number): The start time of the timer
- target (number): The target time of the timer
- value (number): The current value of the timer
- is_on (boolean): True if the timer is on
- temp (unknown)
- last_value (number)