annotate wait.lua @ 26:3af56b6545e0 v6

Fixed an issue with realm names
author Adam tegen <adam.tegen@gmail.com>
date Wed, 15 Oct 2014 19:07:51 -0500
parents ece9167c0d1c
children
rev   line source
adam@0 1 local _, AskMrRobot = ...
adam@0 2
adam@0 3 local waitTable = {};
adam@0 4 local waitFrame = nil;
adam@0 5
adam@0 6 function AskMrRobot.wait(delay, func, ...)
adam@0 7 if(type(delay)~="number" or type(func)~="function") then
yellowfive@11 8 print(AMR_WAIT_BAD_ARGUMENTS);
adam@0 9 return false;
adam@0 10 end
adam@0 11 if(waitFrame == nil) then
adam@0 12 waitFrame = CreateFrame("Frame","WaitFrame", UIParent);
adam@0 13 waitFrame:SetScript("OnUpdate",function (self,elapse)
adam@0 14 local count = #waitTable;
adam@0 15 local i = 1;
adam@0 16 while(i<=count) do
adam@0 17 local waitRecord = tremove(waitTable,i);
adam@0 18 local d = tremove(waitRecord,1);
adam@0 19 local f = tremove(waitRecord,1);
adam@0 20 local p = tremove(waitRecord,1);
adam@0 21 if(d>elapse) then
adam@0 22 tinsert(waitTable,i,{d-elapse,f,p});
adam@0 23 i = i + 1;
adam@0 24 else
adam@0 25 count = count - 1;
adam@0 26 f(unpack(p));
adam@0 27 end
adam@0 28 end
adam@0 29 end);
adam@0 30 end
adam@0 31 tinsert(waitTable,{delay,func,{...}});
adam@0 32 return true;
adam@0 33 end