init
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
local E, L, V, P, G = unpack(select(2, ...)); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
|
||||
local NP = E:GetModule("NamePlates")
|
||||
|
||||
--Lua functions
|
||||
--WoW API / Variables
|
||||
|
||||
function NP:UpdateElement_CutawayHealthFadeOut(frame)
|
||||
local cutawayHealth = frame.CutawayHealth
|
||||
cutawayHealth.fading = true
|
||||
E:UIFrameFadeOut(cutawayHealth, self.db.cutawayHealthFadeOutTime, cutawayHealth:GetAlpha(), 0)
|
||||
cutawayHealth.isPlaying = nil
|
||||
end
|
||||
|
||||
local function CutawayHealthClosure(frame)
|
||||
NP:UpdateElement_CutawayHealthFadeOut(frame)
|
||||
end
|
||||
|
||||
function NP:CutawayHealthValueChangeCallback(frame, health, maxHealth)
|
||||
if self.db.cutawayHealth then
|
||||
frame.CutawayHealth:SetMinMaxValues(0, maxHealth)
|
||||
local oldValue = frame.Health:GetValue()
|
||||
local change = oldValue - health
|
||||
if change > 0 and not frame.CutawayHealth.isPlaying then
|
||||
local cutawayHealth = frame.CutawayHealth
|
||||
if cutawayHealth.fading then
|
||||
E:UIFrameFadeRemoveFrame(cutawayHealth)
|
||||
end
|
||||
cutawayHealth.fading = false
|
||||
cutawayHealth:SetValue(oldValue)
|
||||
cutawayHealth:SetAlpha(1)
|
||||
|
||||
E:Delay(self.db.cutawayHealthLength, CutawayHealthClosure, frame)
|
||||
|
||||
cutawayHealth.isPlaying = true
|
||||
cutawayHealth:Show()
|
||||
end
|
||||
else
|
||||
if frame.CutawayHealth.isPlaying then
|
||||
frame.CutawayHealth.isPlaying = nil
|
||||
frame.CutawayHealth:SetScript("OnUpdate", nil)
|
||||
end
|
||||
frame.CutawayHealth:Hide()
|
||||
end
|
||||
end
|
||||
|
||||
function NP:CutawayHealthColorChangeCallback(frame, r, g, b)
|
||||
frame.CutawayHealth:SetStatusBarColor(r * 1.5, g * 1.5, b * 1.5, 1)
|
||||
end
|
||||
|
||||
function NP:ConstructElement_CutawayHealth(parent)
|
||||
local healthBar = parent.Health
|
||||
|
||||
local cutawayHealth = CreateFrame("StatusBar", "$parentCutawayHealth", healthBar)
|
||||
cutawayHealth:SetAllPoints()
|
||||
cutawayHealth:SetStatusBarTexture(E.media.blankTex)
|
||||
cutawayHealth:SetFrameLevel(healthBar:GetFrameLevel() - 1)
|
||||
|
||||
NP:RegisterHealthBarCallbacks(parent, NP.CutawayHealthValueChangeCallback, NP.CutawayHealthColorChangeCallback)
|
||||
|
||||
return cutawayHealth
|
||||
end
|
||||
Reference in New Issue
Block a user