2025-04-15 21:49:22 +03:00

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 seconds
    • to (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)