Advertisement
Rochet2

Untitled

May 21st, 2017
328
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.75 KB | None | 0 0
  1. local total = 0
  2. local events = {}
  3. local function onUpdate(self,elapsed)
  4.     if #events == 0 then
  5.         total = 0
  6.         return
  7.     end
  8.    
  9.     total = total + elapsed
  10.     local deleted = 0
  11.     for i = #events, 1, -1 do
  12.         local data = events[i]
  13.         if data[1] > total then
  14.             break
  15.         end
  16.         data[2](unpack(data[3], 1, data[4]))
  17.         deleted = deleted+1
  18.     end
  19.     for i = #events-deleted, #events do
  20.         events[i] = nil
  21.     end
  22. end
  23.  
  24. local f = CreateFrame("frame")
  25. f:SetScript("OnUpdate", onUpdate)
  26.  
  27. local function comp(a,b)
  28.     return b[1] < a[1]
  29. end
  30.  
  31. function RegisterEvent(delay, func, ...)
  32.     tinsert(events, {total+delay, func, {...}, select("#", ...)})
  33.     table.sort(events, comp)
  34. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement