Mercurial > wow > buffalo2
changeset 73:95ed343c3a42
- VeneerBuffTemplate and members
author | Nenue |
---|---|
date | Tue, 23 Aug 2016 16:15:09 -0400 |
parents | d80db9a9b7e4 |
children | cd6e78091b04 |
files | Modules/BuffFrame.lua Modules/ObjectiveTracker.lua Veneer.lua Veneer.xml |
diffstat | 4 files changed, 53 insertions(+), 70 deletions(-) [+] |
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
--- a/Modules/ObjectiveTracker.lua Tue Aug 23 14:53:38 2016 -0400 +++ b/Modules/ObjectiveTracker.lua Tue Aug 23 16:15:09 2016 -0400 @@ -9,7 +9,9 @@ local ot local otvn -local ResetObjectiveTrackerAnchor = function() +local INSET_V = -20 + +local GetVeneer = function() print('|cFFFF4400ObjectiveTracker_Initialize|r') otvn = vn.GetVeneer(ot) @@ -21,11 +23,7 @@ end ot:ClearAllPoints() ot:SetPoint('TOPRIGHT', UIParent, 'TOPRIGHT', -5, -140) - print(ot:GetHeight(), ot:GetWidth()) - local width, height = ot:GetSize() - ot:SetSize(width, height) - print(ot:GetHeight(), ot:GetWidth()) --vn.GetVeneer(ot):SetAllPoints(ot) end @@ -36,17 +34,14 @@ - print(ot:GetPoint(1),ot:GetPoint(2), ot:GetSize()) - print(ot:GetTop(), ot:GetLeft()) - print(ot:GetBottom(), ot:GetRight()) - print(otvn:GetTop(), otvn:GetLeft()) - print(otvn:GetBottom(), otvn:GetRight()) - otvn:Show() + ot:ClearAllPoints() + ot:SetPoint('TOPRIGHT', UIParent, 'TOPRIGHT', -5, -140) + end local CreateVeneer = function() ot = ObjectiveTrackerFrame - hooksecurefunc('ObjectiveTracker_Initialize', ResetObjectiveTrackerAnchor) + hooksecurefunc('ObjectiveTracker_Initialize', GetVeneer) hooksecurefunc('ObjectiveTracker_Update', UpdateVeneer) end
--- a/Veneer.lua Tue Aug 23 14:53:38 2016 -0400 +++ b/Veneer.lua Tue Aug 23 16:15:09 2016 -0400 @@ -129,7 +129,7 @@ VeneerButton_Update(self) end -vn.GetVeneer = function(frame) +vn.GetVeneer = function(frame, template) if not frame then print('|cFFFF4400Unable to acquire frame...|r') return @@ -141,7 +141,7 @@ end local name = (frame:GetName() or AnonymousName())..'Veneer' - local veneer = CreateFrame('Frame', name, frame, 'VeneerTemplate') + local veneer = CreateFrame('Frame', name, frame, template or 'VeneerTemplate') print('+veneer', name) veneer:SetAllPoints(frame)
--- a/Veneer.xml Tue Aug 23 14:53:38 2016 -0400 +++ b/Veneer.xml Tue Aug 23 16:15:09 2016 -0400 @@ -115,6 +115,42 @@ </Frame> + <Frame name="VeneerBuffTemplate" virtual="true" inherits="VeneerTemplate"> + <Scripts> + <OnLoad> + self.duration = self.progress.duration + self.count = self.progress.count + self.border = self.underlay.bg + </OnLoad> + </Scripts> + <Frames> + <Frame name="$parentUnderlay" parentKey="underlay" frameStrata="BACKGROUND"> + <Layers> + <Layer level="BACKGROUND"> + <Texture parentKey="bg" setAllPoints="true" /> + </Layer> + </Layers> + </Frame> + <Cooldown name="$parentCooldown" parentKey="cooldown" inherits="CooldownFrameTemplate" reverse="true" setAllPoints="true"> + + </Cooldown> + <Frame name="$parentProgress" parentKey="progress"> + <Layers> + <Layer level="BACKGROUND"> + <Texture parentKey="bg" /> + </Layer> + <Layer level="ARTWORK"> + <Texture parentKey="fg" /> + </Layer> + <Layer level="OVERLAY"> + <FontString parentKey="duration" inherits="VeneerNumberFont" /> + <FontString parentKey="count" inherits="VeneerNumberFont" /> + </Layer> + </Layers> + </Frame> + </Frames> + </Frame> + <Script file="Veneer.lua" /> </Ui> \ No newline at end of file