mirror of
https://github.com/Bluewhale1337/ElvUIModernized.git
synced 2026-07-27 08:24:44 +00:00
56 lines
1.4 KiB
Lua
56 lines
1.4 KiB
Lua
local E, L, V, P, G = unpack(ElvUI)
|
|
local mod = E:GetModule("NamePlates")
|
|
local LSM = LibStub("LibSharedMedia-3.0")
|
|
|
|
local CreateFrame = CreateFrame
|
|
|
|
function mod:UpdateElement_Glow(frame)
|
|
if not frame.HealthBar:IsShown() then return end
|
|
|
|
local r, g, b, shouldShow
|
|
if frame.isTarget and self.db.useTargetGlow then
|
|
r, g, b = 1, 1, 1
|
|
shouldShow = true
|
|
else
|
|
local health = frame.oldHealthBar:GetValue()
|
|
local _, maxHealth = frame.oldHealthBar:GetMinMaxValues()
|
|
local perc = health / maxHealth
|
|
if perc <= self.db.lowHealthThreshold then
|
|
if perc <= self.db.lowHealthThreshold / 2 then
|
|
r, g, b = 1, 0, 0
|
|
else
|
|
r, g, b = 1, 1, 0
|
|
end
|
|
|
|
shouldShow = true
|
|
end
|
|
end
|
|
|
|
if shouldShow then
|
|
frame.Glow:Show()
|
|
if r ~= frame.Glow.r or g ~= frame.Glow.g or b ~= frame.Glow.b then
|
|
frame.Glow:SetBackdropBorderColor(r, g, b)
|
|
frame.Glow.r, frame.Glow.g, frame.Glow.b = r, g, b
|
|
end
|
|
elseif frame.Glow:IsShown() then
|
|
frame.Glow:Hide()
|
|
end
|
|
end
|
|
|
|
function mod:ConfigureElement_Glow(frame)
|
|
|
|
end
|
|
|
|
function mod:ConstructElement_Glow(frame)
|
|
local f = CreateFrame("Frame", nil, frame)
|
|
f:SetFrameLevel(frame.HealthBar:GetFrameLevel() - 1)
|
|
E:SetOutside(f, frame.HealthBar, 3, 3)
|
|
f:SetBackdrop({
|
|
edgeFile = LSM:Fetch("border", "ElvUI GlowBorder"), edgeSize = E:Scale(3),
|
|
insets = {left = E:Scale(5), right = E:Scale(5), top = E:Scale(5), bottom = E:Scale(5)}
|
|
})
|
|
|
|
f:SetScale(E.PixelMode and 1.5 or 2)
|
|
f:Hide()
|
|
return f
|
|
end |