comparison Degaine.lua @ 10:37ac0d31cf0e

No need for this 'done' var anymore
author contrebasse
date Fri, 10 Dec 2010 16:53:18 +0100
parents 571dcc76d801
children 62abf847fef9
comparison
equal deleted inserted replaced
9:571dcc76d801 10:37ac0d31cf0e
1 local AddonName = ... 1 local AddonName = ...
2 -- Draw your weapons automagically 2 -- Draw your weapons automagically
3 3
4 -- Known bugs : 4 -- Known bugs :
5 -- si on se lève en sautant ça ne sort pas l'arme (impossible de savoir si on était assis avant) 5 -- If you stand up by jumping or walking it won't draw your weapon
6 -- (it's not possible to know if you were sitting or standing before)
6 7
7 --@debug@ 8 --@debug@
8 local debug = false; 9 local debug = false;
9 --@end-debug@ 10 --@end-debug@
10 11
32 -- const 33 -- const
33 local DegaineFrame = CreateFrame("Frame") 34 local DegaineFrame = CreateFrame("Frame")
34 local playername = UnitName("player") 35 local playername = UnitName("player")
35 36
36 -- vars 37 -- vars
37 local done = true
38 local t_left = -1 38 local t_left = -1
39 local delay = 2 -- seconds 39 local delay = 2 -- seconds
40 40
41 --------------------------------------------------------------- 41 ---------------------------------------------------------------
42 -- Some stuff... 42 -- Some stuff...
79 --------------------------------------------------------------- 79 ---------------------------------------------------------------
80 -- Launch drawing weapons 80 -- Launch drawing weapons
81 --------------------------------------------------------------- 81 ---------------------------------------------------------------
82 -- Wait a few seconds before drawing, to be able to see the curren animation (and avoid bugs) 82 -- Wait a few seconds before drawing, to be able to see the curren animation (and avoid bugs)
83 local Degaine_OnUpdate = function(self,t_elapsed) 83 local Degaine_OnUpdate = function(self,t_elapsed)
84 if not done then 84 t_left = t_left - t_elapsed;
85 t_left = t_left - t_elapsed; 85 if t_left<=0 then
86 if t_left<=0 then 86 ToggleSheath();
87 done = true; 87 DegaineFrame:SetScript("OnUpdate", nil);
88 ToggleSheath();
89 DegaineFrame:SetScript("OnUpdate", nil);
90 end
91 end 88 end
92 end 89 end
93 local start = function() 90 local start = function()
94 if Degaine_isAuto and not InCombatLockdown() then 91 if Degaine_isAuto and not InCombatLockdown() then
95 t_left = delay 92 t_left = delay
96 done = false
97 DegaineFrame:SetScript("OnUpdate", Degaine_OnUpdate); 93 DegaineFrame:SetScript("OnUpdate", Degaine_OnUpdate);
98 end 94 end
99 end 95 end
100 96
101 --------------------------------------------------------------- 97 ---------------------------------------------------------------
120 local desactivate = function() 116 local desactivate = function()
121 for k,v in pairs(events) do DegaineFrame:UnregisterEvent(k); end 117 for k,v in pairs(events) do DegaineFrame:UnregisterEvent(k); end
122 for k,v in pairs(events1player) do DegaineFrame:UnregisterEvent(k); end 118 for k,v in pairs(events1player) do DegaineFrame:UnregisterEvent(k); end
123 for k,v in pairs(events2playername) do DegaineFrame:UnregisterEvent(k); end 119 for k,v in pairs(events2playername) do DegaineFrame:UnregisterEvent(k); end
124 DegaineFrame:SetScript("OnUpdate", nil); 120 DegaineFrame:SetScript("OnUpdate", nil);
125 done = true;
126 end 121 end
127 Degaine_ToggleAuto = function() 122 Degaine_ToggleAuto = function()
128 if Degaine_isAuto then 123 if Degaine_isAuto then
129 Degaine_isAuto = false 124 Degaine_isAuto = false
130 desactivate() 125 desactivate()