ElvUI/Modules/UnitFrames/Elements/AltPower.lua

55 lines
1.8 KiB
Lua
Raw Normal View History

2020-11-13 14:27:50 -05:00
local E, L, V, P, G = unpack(select(2, ...)); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local UF = E:GetModule('UnitFrames');
local CreateFrame = CreateFrame
function UF:Construct_AltPowerBar(frame)
local altpower = CreateFrame('StatusBar', '$parent_AlternativePower', frame)
altpower:SetStatusBarTexture(E.media.blankTex)
altpower:SetStatusBarColor(.7, .7, .6)
altpower:GetStatusBarTexture():SetHorizTile(false)
UF.statusbars[altpower] = true
altpower:CreateBackdrop(nil, nil, nil, nil, true)
altpower.BG = altpower:CreateTexture(nil, 'BORDER')
altpower.BG:SetAllPoints()
altpower.BG:SetTexture(E.media.blankTex)
altpower.RaisedElementParent = CreateFrame('Frame', nil, altpower)
altpower.RaisedElementParent:SetFrameLevel(altpower:GetFrameLevel() + 100)
altpower.RaisedElementParent:SetAllPoints()
altpower.value = altpower.RaisedElementParent:CreateFontString(nil, 'OVERLAY')
altpower.value:Point('CENTER')
altpower.value:SetJustifyH('CENTER')
UF:Configure_FontString(altpower.value)
altpower:SetScript('OnShow', UF.ToggleResourceBar)
altpower:SetScript('OnHide', UF.ToggleResourceBar)
altpower:Hide()
return altpower
end
function UF:Configure_AltPowerBar(frame)
local db = frame.db.classbar
if db.enable then
if not frame:IsElementEnabled('AlternativePower') then
frame:EnableElement('AlternativePower')
frame.AlternativePower:Show()
end
frame:Tag(frame.AlternativePower.value, db.altPowerTextFormat)
UF:ToggleTransparentStatusBar(false, frame.AlternativePower, frame.AlternativePower.BG)
local color = db.altPowerColor
frame.AlternativePower:SetStatusBarColor(color.r, color.g, color.b)
E:SetSmoothing(frame.AlternativePower, UF.db.smoothbars)
elseif frame:IsElementEnabled('AlternativePower') then
frame:DisableElement('AlternativePower')
frame.AlternativePower:Hide()
end
end