annotate BuffFrame/BuffFrame.lua @ 48:9837069e366a

move BuffFrame-specific things out of Veneer.lua straighten out table hierarchy for BuffFrame module
author Nenue
date Thu, 28 Apr 2016 06:58:13 -0400
parents
children 16465f3fd919
rev   line source
Nenue@48 1 --------------------------------------------
Nenue@48 2 -- Veneer
Nenue@48 3 -- Nick
Nenue@48 4 -- @project-revision@ @project-hash@
Nenue@48 5 -- @file-revision@ @file-hash@
Nenue@48 6 -- Created: 4/28/2016 5:58 AM
Nenue@48 7 --------------------------------------------
Nenue@48 8
Nenue@48 9 local B = select(2,...).frame
Nenue@48 10 local M = B:RegisterModule('BuffFrame')
Nenue@48 11
Nenue@48 12 function M:OnInitialize()
Nenue@48 13 local displays = M.displays
Nenue@48 14 local c= M.Conf
Nenue@48 15 -- suffix tables
Nenue@48 16
Nenue@48 17 M.drawn = B.Abstract(displays, 'drawn', M.drawn )
Nenue@48 18 -- Lesser extent of guide frames that have been positioned
Nenue@48 19 M.positioned = B.Abstract(displays, 'positioned', M.positioned)
Nenue@48 20 -- Backdrop style frame
Nenue@48 21 M.decors = B.Abstract(displays, 'decorator', M.decors)
Nenue@48 22 -- Static positioning frames
Nenue@48 23 M.guides = B.Abstract(displays, 'guides', M.guides)
Nenue@48 24 -- Anchor points for guides
Nenue@48 25 M.anchors = B.Abstract(displays, 'anchor', M.anchors)
Nenue@48 26 -- Stored functions for doing icon texture adjustments
Nenue@48 27 M.zoom = B.Abstract(displays, 'zoom', M.zoom )
Nenue@48 28
Nenue@48 29
Nenue@48 30 for name, display in pairs(displays) do
Nenue@48 31 display.conf = setmetatable({}, {
Nenue@48 32 __index = function(_, k)
Nenue@48 33 --print('config check '.. name .. k)
Nenue@48 34 return c[name .. k] or c['BuffButton' .. k]
Nenue@48 35 end,
Nenue@48 36 __newindex = function(_, k , v)
Nenue@48 37 c[name..k] = v
Nenue@48 38 end,
Nenue@48 39 })
Nenue@48 40 end
Nenue@48 41
Nenue@48 42 M:RegisterUnitEvent("UNIT_AURA", "player", "vehicle")
Nenue@48 43 M:RegisterEvent("GROUP_ROSTER_UPDATE")
Nenue@48 44 M:RegisterEvent("PLAYER_SPECIALIZATION_CHANGED")
Nenue@48 45 hooksecurefunc("BuffFrame_UpdateAllBuffAnchors", M.PostBuffAnchors)
Nenue@48 46 hooksecurefunc("RaidBuffTray_Update", M.UpdateRaidBuffs)
Nenue@48 47 end
Nenue@48 48
Nenue@48 49 function M:OnUpdate ()
Nenue@48 50 local displays = M.displays
Nenue@48 51 M.ShowConsolidated = (IsInGroup() and GetCVarBool("consolidateBuffs"))
Nenue@48 52 M.ShowMissingBuffs = (IsInGroup() and M.Conf.RaidShowMissing)
Nenue@48 53
Nenue@48 54 for name, auraType in pairs(displays) do
Nenue@48 55
Nenue@48 56 M.UpdateBuffs(auraType.buffName, true)
Nenue@48 57 print(name, auraType)
Nenue@48 58 _G[name..'Anchor']:EnableMouse(B.Conf.ConfigMode)
Nenue@48 59 end
Nenue@48 60
Nenue@48 61 M.UpdateAnchorAnchors()
Nenue@48 62 M.UpdateRaidBuffs()
Nenue@48 63 M.UpdateBuffsTodo()
Nenue@48 64 end