annotate wait.lua @ 51:6f1bb8fcf64d
v18
AskMrRobot.toc
- Added line for new SettingsTab file
AskMrRobotUi.lua
- Added code for new Settings menu
amr-constants.lua
- Added instance IDs for all WoD 6.0 5-mans and Raids.
- Removed legacy SoO IDs.
config.lua
- Removed "Interface/Addons" options area,
migrated all settings to main addon window.
localization/localization.en.lua
- Added new strings for new Settings tab and new Raid auto-logging
ui/CombatLogTab.lua
- Removed legacy SoO code
- Added auto-logging settings for Highmaul and Blackrock Foundry.
ui/SettingsTab.lua
- new main window tab for Minimap and Auction House settings options
author |
TuhMuffinMan <TuhMuffinMan> |
date |
Fri, 28 Nov 2014 13:09:52 -0600 |
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
|