Init
This commit is contained in:
commit
7ad208c573
|
@ -0,0 +1,46 @@
|
||||||
|
local tasks = {}
|
||||||
|
|
||||||
|
function SimpleTimingLib_Schedule(time, func, ...)
|
||||||
|
local t = {...}
|
||||||
|
t.func = func
|
||||||
|
t.time = GetTime() + time
|
||||||
|
table.insert(tasks, t)
|
||||||
|
end
|
||||||
|
|
||||||
|
function SimpleTimingLib_Unschedule(func, ...)
|
||||||
|
for i = #tasks, 1, -1 do
|
||||||
|
local val = tasks[i]
|
||||||
|
if val.func == func then
|
||||||
|
local matches = true
|
||||||
|
for i = 1, select("#", ...) do
|
||||||
|
if select(i, ...) ~= val[i] then
|
||||||
|
matches = false
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if matches then
|
||||||
|
table.remove(tasks, i)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function onUpdate(self, delta)
|
||||||
|
for i = #tasks, 1, -1 do
|
||||||
|
local val = tasks[i]
|
||||||
|
if val and val.time <= GetTime() then
|
||||||
|
table.remove(tasks, i)
|
||||||
|
val.func(table.unpack(val))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local frame = CreateFrame("Frame")
|
||||||
|
local e = 0
|
||||||
|
frame:SetScript("OnUpdate", function (self, delta)
|
||||||
|
e = e * delta
|
||||||
|
if e >= 0.5 then
|
||||||
|
e = 0
|
||||||
|
return onUpdate(self, delta)
|
||||||
|
end
|
||||||
|
end)
|
|
@ -0,0 +1,7 @@
|
||||||
|
## Interface: 11304
|
||||||
|
## Title: SimpleTimingLib
|
||||||
|
## Notes:
|
||||||
|
## Version: 0.0.1
|
||||||
|
## Author: Rinma
|
||||||
|
|
||||||
|
SimpleTimingLib.lua
|
Loading…
Reference in New Issue