File ../../LibScriptableUtils-1.0/LibScriptableUtilsTimer-1.0/LibScriptableUtilsTimer-1.0.lua

Functions

AceTimer:CancelAllTimers () Cancels all timers registered to the current addon object ('self')
AceTimer:CancelTimer (handle, silent) Cancels a timer with the given handle, registered by the same addon object as used for `:ScheduleTimer` Both one-shot and repeating timers can be canceled with this function, as long as the `handle` is valid and the timer has not fired yet or was canceled before.
AceTimer:ScheduleRepeatingTimer (callback, delay, arg) Schedule a repeating timer.
AceTimer:ScheduleTimer (callback, delay, arg) Schedule a new one-shot timer.
AceTimer:TimeLeft (handle) Returns the time left for a timer with the given handle, registered by the current addon object ('self').
LibTimer:Del () Delete a LibTimer object
LibTimer:New (name, duration, repeating, callback, data, errorLevel) Create a new LibTimer object
LibTimer:Start (duration, data, func) Start a timer.
LibTimer:Stop () Stop a timer
LibTimer:TimeElapsed () Return how old the timer is since it was started.


Functions

AceTimer:CancelAllTimers ()
Cancels all timers registered to the current addon object ('self')
AceTimer:CancelTimer (handle, silent)
Cancels a timer with the given handle, registered by the same addon object as used for `:ScheduleTimer` Both one-shot and repeating timers can be canceled with this function, as long as the `handle` is valid and the timer has not fired yet or was canceled before.

Parameters

  • handle: The handle of the timer, as returned by `:ScheduleTimer` or `:ScheduleRepeatingTimer`
  • silent: If true, no error is raised if the timer handle is invalid (expired or already canceled)

Return value:

True if the timer was successfully cancelled.
AceTimer:ScheduleRepeatingTimer (callback, delay, arg)
Schedule a repeating timer. The timer will fire every `delay` seconds, until canceled.

Parameters

  • callback: Callback function for the timer pulse (funcref or method name).
  • delay: Delay for the timer, in seconds.
  • arg: An optional argument to be passed to the callback function. @usage MyAddon = LibStub("AceAddon-3.0"):NewAddon("TimerTest", "AceTimer-3.0") function MyAddon:OnEnable() self.timerCount = 0 self.testTimer = self:ScheduleRepeatingTimer("TimerFeedback", 5) end function MyAddon:TimerFeedback() self.timerCount = self.timerCount + 1 print(("%d seconds passed"):format(5 * self.timerCount)) -- run 30 seconds in total if self.timerCount == 6 then self:CancelTimer(self.testTimer) end end
AceTimer:ScheduleTimer (callback, delay, arg)
Schedule a new one-shot timer. The timer will fire once in `delay` seconds, unless canceled before.

Parameters

  • callback: Callback function for the timer pulse (funcref or method name).
  • delay: Delay for the timer, in seconds.
  • arg: An optional argument to be passed to the callback function. @usage MyAddon = LibStub("AceAddon-3.0"):NewAddon("TimerTest", "AceTimer-3.0") function MyAddon:OnEnable() self:ScheduleTimer("TimerFeedback", 5) end function MyAddon:TimerFeedback() print("5 seconds passed") end
AceTimer:TimeLeft (handle)
Returns the time left for a timer with the given handle, registered by the current addon object ('self'). This function will raise a warning when the handle is invalid, but not stop execution.

Parameters

  • handle: The handle of the timer, as returned by `:ScheduleTimer` or `:ScheduleRepeatingTimer`

Return value:

The time left on the timer, or false if the handle is invalid.
LibTimer:Del ()
Delete a LibTimer object

Usage:

object:Del()

Return value:

Nothing
LibTimer:New (name, duration, repeating, callback, data, errorLevel)
Create a new LibTimer object

Parameters

  • name: A name for this timer object
  • duration: The timer's duration in milliseconds.
  • repeating: Whether to repeat the timer or not
  • callback: Function to call when the timer has expired
  • data: Data to pass to the callback
  • errorLevel: Error verbosity level

Usage:

LibScriptableTimer:New(name, duration, repeating, callback, data, errorLevel, durationLimit)

Return value:

A new LibScriptableTimer object
LibTimer:Start (duration, data, func)
Start a timer.

Parameters

  • duration: The duration in milliseconds. This is optional. The timer's initialized duration will be replaced by this value.
  • data: Replace the timer's data that will be sent through the callback with this value.
  • func: Replace the timer's callback function

Usage:

object:Start([duration], [data])
LibTimer:Stop ()
Stop a timer

Usage:

object:Stop()

Return value:

True if the timer was stopped
LibTimer:TimeElapsed ()
Return how old the timer is since it was started.

Usage:

object:TimeElapsed()

Return value:

The remaining duration

Valid XHTML 1.0!