Mercurial > wow > buffalo2
diff BuffFrame/RaidBuffTray.lua @ 49:16465f3fd919
- remove UpdateAnchorAnchors and use hardlink for the one frame that this applied to
author | Nenue |
---|---|
date | Fri, 29 Apr 2016 10:50:27 -0400 |
parents | 9837069e366a |
children | 5db587de8feb |
line wrap: on
line diff
--- a/BuffFrame/RaidBuffTray.lua Thu Apr 28 06:58:13 2016 -0400 +++ b/BuffFrame/RaidBuffTray.lua Fri Apr 29 10:50:27 2016 -0400 @@ -5,26 +5,25 @@ -- Created: 3/20/2016 10:00 PM local _, A = ... -local B = A.frame +local vn = A.frame local MODULE = 'BuffFrame' -local M = B:RegisterModule(MODULE) -local displays = B.displays - +local Aura = vn:RegisterModule(MODULE) local parentAnchor, parentFrame, raidbuffsFrame -local band, lshift, CreateFrame = bit.band, bit.lshift, CreateFrame +local unpack, band, lshift, CreateFrame = unpack,bit.band, bit.lshift, CreateFrame local raidBuffs = {} local raidBuffSymbols = {'St', 'HP', 'AP', 'Ha', 'SP', 'Cr', 'Ma', 'MS', 'V' } local missingBuffs = {} local playerBuffing, playerCurrentBuff local playerBuffs = {} local c, ac, frameSize, frameSpacing, framePosition -local fprint = B.fprint +local fprint = vn.fprint +local xprint = vn.print('XML') local NUM_LE_MISSING_RAID_BUFFS = 0 local missingBuffsAnchor --- Takes a given icon texture and calls the pre-defined function set -M.UpdateBuffStyle = function(buff, style, path) +Aura.UpdateBuffStyle = function(buff, style, path) local print = fprint() local icon = buff.icon local symbol = buff.symbol @@ -39,7 +38,7 @@ --print('|cFF00FF88UpdateBuffStyle(|r', icon:GetName(), style, path, ') same values, ignore') return end - local styleset = B.BuffStyles[style] + local styleset = Aura.BuffStyles[style] if not path or path == '' then print('path is nil/empty') icon:SetTexture(1, 1, 1, 1) @@ -63,12 +62,11 @@ local PlayerBuffStatus = {} local UnitClass, IsInGroup, GetNumGroupMembers, UnitAura = UnitClass, IsInGroup, GetNumGroupMembers, UnitAura local GetTalentInfoByID, GetActiveSpecGroup, GetStablePetInfo, GetSpecialization = GetTalentInfoByID, GetActiveSpecGroup, GetStablePetInfo, GetSpecialization -M.UpdateBuffStatus = function(aura, filters) +Aura.UpdateBuffStatus = function(aura, filters) + local print = xprint if not PlayerBuffStatus[aura] then PlayerBuffStatus[aura] = {} end - - print(UnitClass('player')) if IsInGroup() then local numBuffed = 0 @@ -99,7 +97,7 @@ return true, true else if c.spec then - if not (result and c.spec == B.PlayerSpec) then + if not (result and c.spec == vn.PlayerSpec) then return false end end @@ -131,7 +129,7 @@ end --- events: PLAYER_SPECIALIZATION_CHANGED -function M:UpdateBuffsTodo (unit) +function Aura:UpdateBuffsTodo (unit) -- buffs vs. auras if unit ~= 'player' then -- look for changes in the GIST manifest and sort them out @@ -143,22 +141,22 @@ if not class or not spec or not IsInGroup() or - not B.PlayerBuffStatus[class] then + not Aura.PlayerBuffStatus[class] then -- if just logging in, info won't be available for several seconds -- if not grouped, don't calc -- hide frame - B.PlayerBuffsActive = function() return false end + Aura.PlayerBuffsActive = function() return false end return end -- verify change - if B.PlayerCurrentSpec == spec or B.PlayerClass == class then + if vn.PlayerCurrentSpec == spec or vn.PlayerClass == class then return end - B.PlayerCurrentSpec = spec - B.PlayerClass = class + vn.PlayerCurrentSpec = spec + vn.PlayerClass = class - local test = B.ClassRaidBuffs + local test = vn.ClassRaidBuffs local buffTypes = {} local auraTypes = {} for i = 1, NUM_LE_RAID_BUFF_TYPES do @@ -170,21 +168,21 @@ end if name then - B.UpdateBuffStatus(name, filters) + vn.UpdateBuffStatus(name, filters) end end end -- Called once to setup the ConsolidatedBuffs stencil -local consolidatedBuffsLoaded -M.SetConsolidatedBuffs = function() - local displays = M.displays +local consolidatedBuffsLoaded, displays +Aura.SetConsolidatedBuffs = function() local print = fprint() + displays = Aura.displays c = displays.ConsolidatedBuff.conf - parentFrame = M.guides[c.Parent][c.Position] - raidbuffsFrame = M.anchors.ConsolidatedBuff + parentFrame = Aura.guides[c.Parent][c.Position] + raidbuffsFrame = Aura.anchors.ConsolidatedBuff - B.SetConfigLayers(raidbuffsFrame) + vn.SetConfigLayers(raidbuffsFrame) consolidatedBuffsLoaded = true ConsolidatedBuffs:ClearAllPoints() ConsolidatedBuffs:SetAllPoints(parentFrame.icon) @@ -198,39 +196,49 @@ ConsolidatedBuffsCount:Hide() end +local CanShowConsolidated = function() + return IsInGroup() and GetCVarBool("consolidateBuffs") +end + local missingTypes = {} local raidBuffsInitialized -M.UpdateRaidBuffs = function() - local print = fprint() +Aura.UpdateRaidBuffs = function() + local print = xprint if not consolidatedBuffsLoaded then - M.SetConsolidatedBuffs() + Aura.SetConsolidatedBuffs() end - if not M.ShowConsolidated or not parentFrame.contains then - print(' hiding raid buffs square') - if raidBuffsInitialized then - for i = 1, 9 do - if raidBuffs[i] then - raidBuffs[i]:Hide() + if not CanShowConsolidated() then + + if parentFrame.contains then + print((CanShowConsolidated() and '|cFF88FF88' or '|cFF444444')..'showConsolidated|r', (parentFrame.contains and '|cFF88FF88' or '|cFF444444') .. 'parent.contains|r') + if raidBuffsInitialized then + for i = 1, 9 do + if raidBuffs[i] then + raidBuffs[i]:Hide() + end end + raidBuffsInitialized = nil end - raidBuffsInitialized = nil + if parentFrame then + print(c.Parent, c.Position) + print('de-flagging parent') + parentFrame.contains = nil + end + raidbuffsFrame:Hide() end - if parentFrame then - print(c.Parent, c.Position) - print('de-flagging parent') - parentFrame.contains = nil - end - raidbuffsFrame:Hide() + return + --- ENDS HERE IF NOT SHOWING CONSOLIDATED FRAME end - local c = B.displays.ConsolidatedBuff.conf - if parentFrame and not parentFrame.contains then + local c = Aura.displays.ConsolidatedBuff.conf + if CanShowConsolidated() and not parentFrame.contains then raidBuffsInitialized = true print('re-flagging parent', parentFrame:GetName()) parentFrame.contains = parentFrame - B.decors[c.Parent][c.Position]:Hide() + Aura.decors[c.Parent][c.Position]:Hide() + raidbuffsFrame:SetPoint('TOPRIGHT', parentFrame, 'TOPRIGHT') raidbuffsFrame:Show() -- make sure parent icon is updated @@ -239,14 +247,14 @@ parentFrame.icon:SetSize(w - c.Border*2, w - c.Border*2) parentFrame.contains = raidbuffsFrame - M.UpdateBuffs(c.Parent) + Aura.UpdateBuffs(c.Parent) end -- have to loop again due to tainting restrictions -- could compare the tooltip font object pointers, but that may change local buffStack = GetRaidBuffInfo() print(GetRaidBuffInfo()) - local guides = B.guides.ConsolidatedBuff + local guides = vn.guides.ConsolidatedBuff local numBuffs = 0 local numAvailable = 0 local mask = 1 @@ -296,7 +304,7 @@ end mask = lshift(mask, 1) - M.UpdateBuffStyle(buff, buffStyle, icon) + Aura.UpdateBuffStyle(buff, buffStyle, icon) end -- todo: filter by castable and suppress for non-overlapping auras @@ -304,8 +312,8 @@ raidbuffsFrame.label:SetText(numBuffs..'/'..numAvailable) print(parentFrame:GetName(), parentFrame:GetSize()) - if B.ShowMissingBuffs then - B.UpdateMissingBuffs() + if vn.ShowMissingBuffs then + vn.UpdateMissingBuffs() elseif missingBuffsAnchor and missingBuffsAnchor:IsVisible() then for i = 1, NUM_LE_MISSING_RAID_BUFFS do missingBuffs[i]:Hide() @@ -313,8 +321,8 @@ end end -B.UpdateMissingBuffs = function() - local print = B.fprint() +vn.UpdateMissingBuffs = function() + local print = vn.fprint() local numMissing = 0 local firstMissing, lastMissing @@ -325,7 +333,7 @@ numMissing = numMissing + 1 print('missing buff', i, numMissing) - B.UpdateBuffStyle(raidBuffs[i].icon, 'missing', "") + vn.UpdateBuffStyle(raidBuffs[i].icon, 'missing', "") missingBuffs[numMissing] = missingBuffs[numMissing] or CreateFrame('Button', 'VeneerMissingBuff' .. numMissing, raidbuffsFrame, 'VeneerMissingBuffTemplate')