/trunk
desc = "Enables/Disables the Fade-Out Behaviour", |
order = 1, |
get = function(info) return GetValue(RuneWatch.db.behaviour.fadeout, "enabled"); end, |
set = function(info, v) SetValue(RuneWatch.db.behaviour.fadeout, "enabled", v); end |
set = function(info, v) |
SetValue(RuneWatch.db.behaviour.fadeout, "enabled", v); |
if ( v == false ) then |
RuneWatch.Gui.Anchor:SetAlpha(1); |
else |
if ( RuneWatch.InCombat == false) then |
RuneWatch.Gui.Anchor:SetAlpha(RuneWatch.db.behaviour.fadeout.opacity); |
end |
end |
end |
}, |
fo_opts = { |
type = "group", |
order = 3, |
width = "full", |
get = function(info) return GetValue(RuneWatch.db.behaviour.fadeout, "opacity"); end, |
set = function(info,v) SetValue(RuneWatch.db.behavior.fadeout, "opacity", v); end |
set = function(info,v) |
SetValue(RuneWatch.db.behaviour.fadeout, "opacity", v); |
if (RuneWatch.State.FadeOut.active == false) and (RuneWatch.State.InCombat == false) then |
RuneWatch.Gui.Anchor:SetAlpha(RuneWatch.db.behaviour.fadeout.opacity); |
end |
end |
}, |
fade_wait = { |
type = "range", |
self.State = { |
LastUpdate = 0, |
InCombat = false, |
FadeOut = { |
active = false, |
elapsed = 0 |
end |
--end |
self.Gui.Anchor:SetAlpha(self.db.behaviour.fadeout.opacity); |
local _, uclass = UnitClass("Player"); |
if (uclass ~= "DEATHKNIGHT") then |
self.Gui.Anchor:Hide(); |
-- Occurs when player enters 'combat' |
function RuneWatch:PLAYER_REGEN_DISABLED(event, ...) |
-- Always make sure our opacity is at full when we enter combat. |
self.State.InCombat = true; |
self.State.FadeOut.active = false; |
self.State.FadeOut.elapsed = 0; |
self.Gui.Anchor:SetAlpha(1); |
-- Occurs when player exits 'combat' |
function RuneWatch:PLAYER_REGEN_ENABLED(event, ...) |
-- If Fade-Out Is Turned on |
self.State.InCombat = false; |
if (self.db.behaviour.fadeout.enabled == true) then |
-- Schedule a timer |
AceTimer:ScheduleTimer(function() self.State.FadeOut.elapsed = 0; self.State.FadeOut.active = true; end, self.db.behaviour.fadeout.wait); |