X-Git-Url: https://www.aleksib.fi/git/wowui.git/blobdiff_plain/c39801df4486661ba42940fa59d24536e27131a1..44065aeea22eec9b61d3c4b2ef2193db37b1a327:/kehys/frame.lua diff --git a/kehys/frame.lua b/kehys/frame.lua index 535899c..1719b94 100644 --- a/kehys/frame.lua +++ b/kehys/frame.lua @@ -24,14 +24,15 @@ function addon.NewRaidFrame(parent, width, height, unit, attributes, assert(type(width) == "number", "Frame creation missing width!"); assert(type(height) == "number", "Frame creation missing height!"); assert(type(unit) == "string", "Frame creation missing unit!"); - assert(type(attributes) == "table", - "Frame creation missing attributes table!"); assert(type(update) == "function", "Frame creation missing update function!"); assert(type(event) == "function", "Frame creation missing event function!"); assert(type(onshow) == "function", "Frame creation missing onshow function!"); + if type(attributes) ~= "table" then + attributes = {}; + end local f = CreateFrame( "Button", @@ -50,6 +51,10 @@ function addon.NewRaidFrame(parent, width, height, unit, attributes, f.vehicle = unit == "player" and "vehicle" or format("%spet", unit); f.prev = {} -- values stored from previous update f.alert = {}; -- alerting auras + f.heal = {}; -- high healing auras + f.tankcd = {}; -- tank CD auras + f.stacks = {}; -- stacking aura tracking + f.buff1 = {}; -- custom buff indicator 1 -- set up periodic updates updaters[f] = function() if f.updating then @@ -135,10 +140,25 @@ function addon.NewRaidFrame(parent, width, height, unit, attributes, f.text:SetPoint("CENTER", f, "CENTER", 0, -1); f.text:SetFont(STANDARD_TEXT_FONT, 13); f.text:Hide(); + f.stack = f:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall"); + f.stack:SetPoint("BOTTOMLEFT", f.background, "BOTTOMLEFT"); + f.stack:Hide(); f.ready = f:CreateTexture(nil, "OVERLAY"); f.ready:SetPoint("TOPLEFT", f, "BOTTOMLEFT", 1, 15); f.ready:SetPoint("BOTTOMRIGHT", f, "BOTTOMLEFT", 15, 1); f.ready:Hide(); + f.defensive = f:CreateTexture(nil, "OVERLAY"); + f.defensive:SetPoint("TOPLEFT", f.background, "TOPLEFT", 1, -1); + f.defensive:SetWidth(6); + f.defensive:SetHeight(6); + f.defensive:SetColorTexture(1, 0.3, 0); + f.defensive:Hide(); + f.buffind1 = f:CreateTexture(nil, "OVERLAY"); + f.buffind1:SetPoint("TOPRIGHT", f.background, "TOPRIGHT", -1, -1); + f.buffind1:SetWidth(6); + f.buffind1:SetHeight(6); + f.buffind1:SetColorTexture(0.8, 0.1, 0.1); + f.buffind1:Hide(); f.targeticon = f:CreateTexture(nil, "OVERLAY"); f.targeticon:SetPoint("CENTER", f, "TOP", 0, -1); f.targeticon:SetWidth(12);