blob: 3e45b1136688685bbed3fde98f2febac42bcf22a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
Timer = require "not.Object":extends()
function Timer:new (trigger, delay)
self.trigger = trigger
self.delay = delay
self.left = 0
self.active = false
self.restart = false
end
function Timer:start ()
self.left = self.delay
self.active = true
end
function Timer:update (dt)
if self.active then
if self.left < 0 then
self.trigger:emit()
self.active = false
if self.restart then
self:start()
end
else
self.left = self.left - dt
end
end
end
return Timer
|