1
0
Bifurcation 0
Ce dépôt a été archivé le 2020-03-15. Vous pouvez voir ses fichiers ou le cloner, mais pas ouvrir de ticket ou de demandes d'ajout, ni soumettre de changements.
questhelperredux/QuestHelper/collect_notifier.lua
2011-12-31 23:51:43 +00:00

28 lignes
879 o
Lua

local GetTime = debugprofilestop
QuestHelper_File["collect_notifier.lua"] = "4.0.1.$svnversion$"
QuestHelper_Loadtime["collect_notifier.lua"] = GetTime()
local NotificationsPending = {}
local function OnUpdate()
while #NotificationsPending > 0 and time() >= NotificationsPending[1].time do
NotificationsPending[1].func()
table.remove(NotificationsPending, 1) -- okay okay n^2 deal with it
end
end
local function AddItem(time, func)
QuestHelper: Assert(time)
QuestHelper: Assert(func)
table.insert(NotificationsPending, {time = time, func = func})
table.sort(NotificationsPending, function (a, b) return a.time < b.time end) -- haha who cares about efficiency anyway, NOT ME that is for certain
end
function QH_Collect_Notifier_Init(_, API)
API.Utility_Notifier = AddItem
API.Registrar_OnUpdateHook(OnUpdate)
end
-- grrrr
QH_AddNotifier = AddItem