Mercurial > wow > kbf
comparison KBF.lua @ 22:940628cd5bfc
use entering/exiting events for vehicles instead of entered/exited (drycode). Fix a typo causing a global to be used
author | Chris Mellon <arkanes@gmai.com> |
---|---|
date | Tue, 19 Oct 2010 14:05:46 -0500 |
parents | c2ff66c87521 |
children | b284fd451972 |
comparison
equal
deleted
inserted
replaced
21:c2ff66c87521 | 22:940628cd5bfc |
---|---|
7 | 7 |
8 function kbf:OnInitialize() | 8 function kbf:OnInitialize() |
9 self.debuffFrames = {} | 9 self.debuffFrames = {} |
10 self.anchor = self:CreateAnchorFrame() | 10 self.anchor = self:CreateAnchorFrame() |
11 self:RegisterEvent("UNIT_AURA") | 11 self:RegisterEvent("UNIT_AURA") |
12 self:RegisterEvent("UNIT_ENTERED_VEHICLE") | 12 self:RegisterEvent("UNIT_ENTERING_VEHICLE") |
13 self:RegisterEvent("UNIT_EXITED_VEHICLE") | 13 self:RegisterEvent("UNIT_EXITING_VEHICLE") |
14 -- set up the countdown timer | 14 -- set up the countdown timer |
15 -- TODO: Fancy enable/disable based on whether you have any timed buffs. | 15 -- TODO: Fancy enable/disable based on whether you have any timed buffs. |
16 -- Not a big deal, how often do you care about that | 16 -- Not a big deal, how often do you care about that |
17 -- also TODO: Maybe should bucket OnUpdates somehow | 17 -- also TODO: Maybe should bucket OnUpdates somehow |
18 -- AceTimer repeating events can only happen at 0.1 seconds, which is probably | 18 -- AceTimer repeating events can only happen at 0.1 seconds, which is probably |
29 | 29 |
30 -- a "bar" is a frame that has the icon, status bar, ect associated with it | 30 -- a "bar" is a frame that has the icon, status bar, ect associated with it |
31 | 31 |
32 -- Secure aura header doesn't self-bind to vehicle, | 32 -- Secure aura header doesn't self-bind to vehicle, |
33 -- so this probably only works out of combat. But thats better than nothing... | 33 -- so this probably only works out of combat. But thats better than nothing... |
34 function kbf:UNIT_ENTERED_VEHICLE(event, unit) | 34 function kbf:UNIT_ENTERING_VEHICLE(event, unit) |
35 if unit ~= "player" then return end | 35 if unit ~= "player" then return end |
36 self.dirty = true | 36 self.dirty = true |
37 -- hax until SAH supports vehicles - do the swap after we come out of combat | 37 -- hax until SAH supports vehicles - do the swap after we come out of combat |
38 if not InCombatLockdown() then | 38 if not InCombatLockdown() then |
39 self.secureFrame:SetAttribute("unit", "vehicle") | 39 self.secureFrame:SetAttribute("unit", "vehicle") |
40 else | 40 else |
41 self.pollForUnitChange = true | 41 self.pollForUnitChange = true |
42 end | 42 end |
43 end | 43 end |
44 | 44 |
45 function kbf:UNIT_EXITED_VEHICLE(event, unit) | 45 function kbf:UNIT_EXITING_VEHICLE(event, unit) |
46 if unit ~= "player" then return end | 46 if unit ~= "player" then return end |
47 self.dirty = true | 47 self.dirty = true |
48 -- hax until SAH supports vehicles - do the swap after we come out of combat | 48 -- hax until SAH supports vehicles - do the swap after we come out of combat |
49 if not InCombatLockdown() then | 49 if not InCombatLockdown() then |
50 self.secureFrame:SetAttribute("unit", "player") | 50 self.secureFrame:SetAttribute("unit", "player") |
271 local texture = "Interface\\TargetingFrame\\UI-StatusBar" | 271 local texture = "Interface\\TargetingFrame\\UI-StatusBar" |
272 -- Because of secureframe suckiness, these height & width numbers | 272 -- Because of secureframe suckiness, these height & width numbers |
273 -- have to be consistent with the stuff in KBF.xml | 273 -- have to be consistent with the stuff in KBF.xml |
274 local height = 16 | 274 local height = 16 |
275 local width = 200 -- this is the width *without* the icon | 275 local width = 200 -- this is the width *without* the icon |
276 local font, _ style = GameFontHighlight:GetFont() | 276 local font, _, style = GameFontHighlight:GetFont() |
277 local r = r or 0 | 277 local r = r or 0 |
278 local g = g or 1 | 278 local g = g or 1 |
279 local b = b or 0 | 279 local b = b or 0 |
280 local bgcolor = {r, g, b, 0.5} | 280 local bgcolor = {r, g, b, 0.5} |
281 local color = {r, g, b, 1} | 281 local color = {r, g, b, 1} |
365 anchor:SetMovable(true) | 365 anchor:SetMovable(true) |
366 anchor:RegisterForDrag("LeftButton") | 366 anchor:RegisterForDrag("LeftButton") |
367 anchor:SetScript("OnDragStart", anchor.StartMoving) | 367 anchor:SetScript("OnDragStart", anchor.StartMoving) |
368 anchor:SetScript("OnDragStop", anchor.StopMovingOrSizing) | 368 anchor:SetScript("OnDragStop", anchor.StopMovingOrSizing) |
369 anchor:ClearAllPoints() | 369 anchor:ClearAllPoints() |
370 anchor:SetPoint("CENTER", UIParent, "CENTER", 0, 0) | 370 anchor:SetPoint("TOPRIGHT", UIParent, "TOPRIGHT", 0, 0) |
371 anchor:Hide() | 371 anchor:Hide() |
372 | 372 |
373 local frame = CreateFrame("FRAME", "KBFBuffFrame", UIParent, "SecureAuraHeaderTemplate") | 373 local frame = CreateFrame("FRAME", "KBFBuffFrame", UIParent, "SecureAuraHeaderTemplate") |
374 --local frame = anchor | 374 --local frame = anchor |
375 frame:SetAttribute("filter", "HELPFUL") | 375 frame:SetAttribute("filter", "HELPFUL") |