Mercurial > wow > kbf
changeset 69:b467bba0224d
okay, now do vehicle swapping in a better, simpler way that will also show debuffs
author | Chris Mellon <arkanes@gmail.com> |
---|---|
date | Sat, 30 Jun 2012 18:27:23 -0500 |
parents | f5bd73181349 |
children | 4b03e050842d |
files | KBF.lua |
diffstat | 1 files changed, 12 insertions(+), 42 deletions(-) [+] |
line wrap: on
line diff
--- a/KBF.lua Sat Jun 30 18:18:18 2012 -0500 +++ b/KBF.lua Sat Jun 30 18:27:23 2012 -0500 @@ -127,22 +127,6 @@ buffCount = buffCount+1 end - if self.vehicleHeader:IsShown() then - local unit = "vehicle" - for idx=1,99 do - local frame = self.vehicleHeader:GetAttribute("child"..idx) - if not (frame and frame:IsShown()) then break end - if true then - if self:BindBarToBuff(frame, unit) then break end - end - self:UpdateBarExpirationTime(frame) - -- Don't forget to refresh shown tooltips - if ( GameTooltip:IsOwned(frame) ) then - self:OnEnter(frame) - end - end - end - -- SAH correctly binds the weapon enchant templates now, but when temp enchants -- are present and used, it seems that it doesn't correctly hide un-bound -- buff frames, which breaks all the layout and so forth. @@ -504,37 +488,23 @@ consolidateHeader:SetWidth(height + width) consolidateHeader:SetHeight(height) consolidateHeader:Show() - - local vehicleHeader = CreateFrame("FRAME", "KBFBuffFrame", UIParent, "SecureAuraHeaderTemplate") - self:SetCommonSecureHeaderAttributes(vehicleHeader) - vehicleHeader:SetAttribute("unit", "vehicle") - vehicleHeader:SetPoint("TOP", anchor, "TOP", 0, 0) - vehicleHeader:SetWidth(height + width) - vehicleHeader:SetHeight(height) - RegisterUnitWatch(vehicleHeader) - + - local frameHider = CreateFrame("FRAME", "KBFFrameHider", UIParent, "SecureHandlerStateTemplate") - frameHider:SetAttribute("unit", "vehicle") - frameHider:SetFrameRef("frame1", secureHeader) - frameHider:SetFrameRef("frame2", consolidateHeader) - frameHider:SetFrameRef("frame3", consolidateProxy) - frameHider:SetAttribute("_onstate-unitexists", [[ - for idx=1,99 do - local frame = self:GetFrameRef("frame"..idx) - if frame then - if newstate then - frame:Hide() - else - frame:Show() - end - end + local vehicleSwapper = CreateFrame("FRAME", "KBFVehicleSwapper", UIParent, "SecureHandlerStateTemplate") + vehicleSwapper:SetAttribute("unit", "vehicle") + vehicleSwapper:SetFrameRef("secureHeader", secureHeader) + vehicleSwapper:SetAttribute("_onstate-unitexists", [[ + local frame = self:GetFrameRef("secureHeader") + if newstate then + frame:SetAttribute("unit", "vehicle") + else + frame:SetAttribute("unit", "player") end ]]) - RegisterUnitWatch(frameHider, true) + RegisterUnitWatch(vehicleSwapper, true) - return anchor, secureHeader, consolidateHeader, consolidateProxy, vehicleHeader + return anchor, secureHeader, consolidateHeader, consolidateProxy end --- sets the attributes needed by all the headers