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')