From 14ad18c0d38e17487a5a8b23dd729cbde061c43d Mon Sep 17 00:00:00 2001 From: p3lim-52096 Date: Fri, 29 Aug 2008 12:34:02 +0000 Subject: [PATCH] Now uses events and a proper check git-svn-id: svn://svn.wowinterface.com/oUF_BarFader-229/trunk@5 cbe42a47-3b53-4817-a5a9-47e79666164c --- oUF_BarFader/oUF_BarFader.lua | 50 ++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/oUF_BarFader/oUF_BarFader.lua b/oUF_BarFader/oUF_BarFader.lua index 91fcb73..da7d95f 100644 --- a/oUF_BarFader/oUF_BarFader.lua +++ b/oUF_BarFader/oUF_BarFader.lua @@ -1,32 +1,30 @@ local function UpdateElement(self) - local notFull = UnitHealth('player') ~= UnitHealthMax('player') or - (UnitPowerType("player") == 1 and UnitMana('player') > 0) or - (UnitPowerType("player") ~= 1 and UnitMana('player') ~= UnitManaMax('player')) + if(self.BarFade) then + local notFull = UnitHealth('player') ~= UnitHealthMax('player') or + (UnitPowerType("player") == 1 and UnitMana('player') > 0) or + (UnitPowerType("player") ~= 1 and UnitMana('player') ~= UnitManaMax('player')) - if(notFull) then - self:SetAlpha(1) - elseif(UnitAffectingCombat('player')) then - self:SetAlpha(1) - elseif(UnitExists('target')) then - self:SetAlpha(1) - elseif(self.Castbar) then - self:SetAlpha(self.Castbar.casting and 1 or (self.BarFadeAlpha or 0.25)) - else - self:SetAlpha(self.BarFadeAlpha or 0.25) + if(notFull) then + self:SetAlpha(1) + elseif(UnitAffectingCombat('player')) then + self:SetAlpha(1) + elseif(UnitExists('target')) then + self:SetAlpha(1) + elseif(self.Castbar) then + self:SetAlpha(self.Castbar.casting and 1 or (self.BarFadeAlpha or 0.25)) + else + self:SetAlpha(self.BarFadeAlpha or 0.25) + end end end oUF:RegisterInitCallback(function(self) - local unit = self.unit - if(self.BarFade) then - local total = 0 - local event = CreateFrame('Frame') - event:SetScript('OnUpdate', function(_, elapsed) - total = total + elapsed - if(total > 0.25) then - UpdateElement(self) - total = 0 - end - end) - end -end) + local event = CreateFrame('Frame') + event:SetScript('OnEvent', function() UpdateElement(self) end) + event:RegisterEvent('PLAYER_REGEN_ENABLED') + event:RegisterEvent('PLAYER_REGEN_DISABLED') + event:RegisterEvent('PLAYER_TARGET_CHANGED') + event:RegisterEvent('UNIT_HEALTH') + event:RegisterEvent('UNIT_MANA') + event:RegisterEvent('PLAYER_LOGIN') +end) \ No newline at end of file -- 1.7.9.5