add set_interval 'repetions' argument

This commit is contained in:
MihailRis 2025-08-01 21:15:04 +03:00
parent ddb04418ba
commit f37bbc64f4

View File

@ -1,11 +1,12 @@
local Schedule = { local Schedule = {
__index = { __index = {
set_interval = function(self, ms, callback) set_interval = function(self, ms, callback, repetions)
local id = self._next_interval local id = self._next_interval
self._intervals[id] = { self._intervals[id] = {
last_called = 0.0, last_called = 0.0,
delay = ms / 1000.0, delay = ms / 1000.0,
callback = callback, callback = callback,
repetions = repetions,
} }
self._next_interval = id + 1 self._next_interval = id + 1
return id return id
@ -18,6 +19,14 @@ local Schedule = {
debug.error(s..'\n'..debug.traceback()) debug.error(s..'\n'..debug.traceback())
end) end)
interval.last_called = timer interval.last_called = timer
local repetions = interval.repetions
if repetions then
if repetions <= 1 then
self:remove_interval(id)
else
interval.repetions = repetions - 1
end
end
end end
end end
self._timer = timer self._timer = timer