Mercurial > wow > buffalo2
diff Modules/BuffFrame.lua @ 73:95ed343c3a42
- VeneerBuffTemplate and members
author | Nenue |
---|---|
date | Tue, 23 Aug 2016 16:15:09 -0400 |
parents | 6f8661094643 |
children | cd6e78091b04 |
line wrap: on
line diff
--- a/Modules/BuffFrame.lua Tue Aug 23 14:53:38 2016 -0400 +++ b/Modules/BuffFrame.lua Tue Aug 23 16:15:09 2016 -0400 @@ -72,7 +72,7 @@ local name = frame:GetName() if not (_G[name..'Veneer']) then print('|cFF88FF00Creating', name,'Veneer') - local veneer = vn.GetVeneer(frame) + local veneer = vn.GetVeneer(frame, 'VeneerBuffTemplate') local id = frame:GetID() local position = tonumber(name:match("%d")) @@ -80,66 +80,28 @@ veneer:Show() end - veneer.progress = CreateFrame('Frame', name .. 'VeneerProgress', veneer) - veneer.progress:Hide() veneer.progress:SetPoint('BOTTOMLEFT', veneer, 'BOTTOMLEFT', 0, -6) veneer.progress:SetPoint('TOPRIGHT', veneer, 'BOTTOMRIGHT', 0, -1) veneer.progress:SetHeight(BUFF_PROGRESS_SIZE + (BUFF_PROGRESS_INSET * 2)) - veneer.progress.bg = veneer.progress:CreateTexture(nil, 'BACKGROUND') - veneer.progress.bg:SetColorTexture(0,0,0,1) - veneer.progress.bg:SetAllPoints(veneer.progress) - - veneer.progress.fg = veneer.progress:CreateTexture(nil, 'ARTWORK') veneer.progress.fg:SetColorTexture(0,1,0,1) veneer.progress.fg:SetPoint('BOTTOMLEFT', BUFF_PROGRESS_INSET,BUFF_PROGRESS_INSET) veneer.progress.fg:SetPoint('TOP', 0, -BUFF_PROGRESS_INSET) - veneer.progress.status = veneer.progress:CreateFontString() - veneer.progress.status:SetFontObject(VeneerNumberFont) - veneer.progress.status:SetPoint('TOP') + veneer.duration:SetFontObject(VeneerNumberFont) + veneer.duration:SetPoint('TOP', veneer, 'BOTTOM', 0, -2) - - veneer.cooldown = CreateFrame('Cooldown', name ..'VeneerCooldown', veneer, 'CooldownFrameTemplate') - veneer.cooldown:SetAllPoints(frame) - veneer.cooldown:SetReverse(true) - - local overlay = CreateFrame('Frame', name .. 'VeneerOverlay', UIParent) - - overlay:Show() - overlay:SetFrameStrata('MEDIUM') - local n = frame:GetNumPoints() - for i = 1, n do - overlay:SetPoint(frame:GetPoint(n)) - end - - - local underlay = CreateFrame('Frame', name..'VeneerUnderlay', UIParent) - underlay:Show() - underlay:SetFrameStrata('BACKGROUND') - local n = frame:GetNumPoints() - for i = 1, n do - underlay:SetPoint(frame:GetPoint(n)) - end - - veneer.duration = overlay:CreateFontString(name..'VeneerDuration', 'OVERLAY') - veneer.duration:SetFontObject(VeneerNumberFont) - veneer.duration:SetPoint('TOP', frame, 'BOTTOM', 0, -8) - - veneer.count = overlay:CreateFontString(name..'VeneerCount', 'OVERLAY') veneer.count:SetFontObject(VeneerNumberFont) veneer.count:SetPoint('BOTTOMRIGHT', frame, 'BOTTOMRIGHT', -3, 3) - - - veneer.border = underlay:CreateTexture(name..'VeneerBorder', 'BACKGROUND') + veneer.underlay:SetParent(UIParent) + veneer.underlay:SetFrameStrata('BACKGROUND') + veneer.border:SetColorTexture(0,0,0,1) veneer.border:SetPoint('TOPLEFT', veneer, 'TOPLEFT', -BORDER_SIZE_L, BORDER_SIZE_U) veneer.border:SetPoint('BOTTOMRIGHT', veneer, 'BOTTOMRIGHT', BORDER_SIZE_R, -BORDER_SIZE_D) veneer.border:Show() - veneer.overlay = overlay - veneer.underlay = underlay end @@ -160,10 +122,7 @@ local border = _G[name .. 'Border'] local count = _G[name .. 'Count'] local duration = _G[name .. 'Duration'] - local slot = frame:GetID() or 0 local veneer = GetVeneer(frame) - local underlay = veneer.underlay - local overlay = veneer.overlay skinnedFrames[frame] = frame frame:SetSize(BUFF_BUTTON_SIZE,BUFF_BUTTON_SIZE) @@ -184,6 +143,7 @@ end veneer.progress.fg:SetColorTexture(color.r,color.g,color.b) + veneer.border:SetColorTexture(color.r,color.g,color.b) end if duration then duration:ClearAllPoints() @@ -219,15 +179,13 @@ visibility[self] = isVisible end veneer:Hide() - veneer.count:Hide() - underlay:Hide() + veneer.underlay:Hide() end) hooksecurefunc(frame, 'Show', function(self) veneer:Show() veneer.count:Show() veneer.border:Show() - underlay:Show() local isVisible = self:IsVisible() if isVisible ~= visibility[self] then print('|cFFFFFF00SHOW|r', self:GetName()) @@ -323,11 +281,7 @@ local frame = _G[bName] if frame and frame:IsVisible() then tickCounter[frame] = (tickCounter[frame] or 0) + 1 - - - local cacheDiff = CacheCheck(frame, UnitAura(frame.unit, frame:GetID(), frame.filter)) - -- if the name or expirationTime changed if (cacheDiff >= 1) then print('|cFFFF4400', frame:GetName(), 'diff:', cacheDiff) @@ -337,8 +291,6 @@ expirationCache[name] = frame.expirationTime print(unpack(aurasCache[frame])) - - UpdateVeneer(frame, aurasCache[frame][6], aurasCache[frame][7]) end