From aa598482d53ece28775c7c55a716b220e52bc1f2 Mon Sep 17 00:00:00 2001 From: Adrian L Lange Date: Tue, 19 Aug 2014 18:45:35 +0200 Subject: [PATCH] Simplify the rune element --- oUF_P3lim.lua | 116 ++++++++------------------------------------------------- 1 file changed, 16 insertions(+), 100 deletions(-) diff --git a/oUF_P3lim.lua b/oUF_P3lim.lua index 146489a..8ef44b3 100644 --- a/oUF_P3lim.lua +++ b/oUF_P3lim.lua @@ -28,69 +28,6 @@ local function PostUpdateCast(element, unit) end end -local function UpdateRuneState(self) - local opacity - if(UnitHasVehicleUI('player') or UnitIsDeadOrGhost('player')) then - opacity = 0 - elseif(UnitAffectingCombat('player')) then - opacity = 1 - elseif(UnitExists('target') and UnitCanAttack('player', 'target')) then - opacity = 0.8 - else - opacity = 0 - - for index = 1, 6 do - local _, _, ready = GetRuneCooldown(index) - if(not ready) then - opacity = 0.5 - break - end - end - end - - local current = self:GetAlpha() - if(opacity > current) then - UIFrameFadeIn(self, 1/4, current, opacity) - elseif(opacity < current) then - UIFrameFadeOut(self, 1/4, current, opacity) - end -end - -local function UpdateRunes(self, elapsed) - local duration = self.duration + elapsed - if(duration >= 1) then - self:SetScript('OnUpdate', nil) - else - self.duration = duration - self:SetValue(math.max(duration, 0)) - end - - local Background = self.Background - if(Background:GetHeight() <= 2.1) then - Background:Hide() - else - Background:Show() - end -end - -local function PostUpdateRune(element, Rune, id, start, duration, ready) - local Overlay = Rune.Overlay - if(ready) then - Overlay:SetValue(1) - Overlay:SetScript('OnUpdate', nil) - Overlay.Background:Show() - else - Overlay.duration = GetTime() - (start + duration - 1) - Overlay:SetScript('OnUpdate', UpdateRunes) - end -end - -local function PostUpdateRuneType(element, Rune) - local r, g, b = Rune:GetStatusBarColor() - Rune:SetStatusBarColor(r * 0.7, g * 0.7, b * 0.7) - Rune.Overlay:SetStatusBarColor(r, g, b) -end - local function UpdateEmbers(self, event, unit, powerType) if(not self:IsShown()) then return end if(powerType ~= 'BURNING_EMBERS') then return end @@ -256,49 +193,28 @@ local UnitSpecific = { local _, playerClass = UnitClass('player') if(playerClass == 'DEATHKNIGHT') then - local Parent = CreateFrame('Frame', nil, UIParent) - Parent:SetPoint('CENTER', 0, -230) - Parent:SetSize(82, 40) - - Parent:RegisterEvent('UNIT_EXITED_VEHICLE') - Parent:RegisterEvent('UNIT_ENTERED_VEHICLE') - Parent:RegisterEvent('PLAYER_ENTERING_WORLD') - Parent:RegisterEvent('PLAYER_TARGET_CHANGED') - Parent:RegisterEvent('PLAYER_REGEN_DISABLED') - Parent:RegisterEvent('PLAYER_REGEN_ENABLED') - Parent:RegisterEvent('RUNE_POWER_UPDATE') - Parent:SetScript('OnEvent', UpdateRuneState) - local Runes = {} for index = 1, 6 do - local Rune = CreateFrame('StatusBar', nil, Parent) - Rune:SetPoint('BOTTOMLEFT', 3 + (index - 1) * 13, 0) - Rune:SetSize(10, 38) - Rune:SetOrientation('VERTICAL') + local Rune = CreateFrame('StatusBar', nil, self) + Rune:SetSize(35, 6) Rune:SetStatusBarTexture(TEXTURE) - Rune:SetAlpha(0.7) - - local Overlay = CreateFrame('StatusBar', nil, Parent) - Overlay:SetAllPoints(Rune) - Overlay:SetOrientation('VERTICAL') - Overlay:SetStatusBarTexture(TEXTURE) - Overlay:SetMinMaxValues(0, 1) - Overlay:SetFrameLevel(3) - Rune.Overlay = Overlay - - local RuneBG = Parent:CreateTexture(nil, 'BORDER') - RuneBG:SetPoint('BOTTOM', Rune, 0, -1) - RuneBG:SetPoint('TOP', Rune:GetStatusBarTexture(), 0, 1) - RuneBG:SetSize(12, 40) - RuneBG:SetTexture(0, 0, 0) - Overlay.Background = RuneBG + Rune:SetBackdrop(BACKDROP) + Rune:SetBackdropColor(0, 0, 0) - Runes[index] = Rune - end + if(index == 1) then + Rune:SetPoint('TOPLEFT', self, 'BOTTOMLEFT', 0, -4) + else + Rune:SetPoint('LEFT', Runes[index - 1], 'RIGHT', 4, 0) + end - Runes.PostUpdateRune = PostUpdateRune - Runes.PostUpdateType = PostUpdateRuneType + local RuneBG = Rune:CreateTexture(nil, 'BACKGROUND') + RuneBG:SetAllPoints() + RuneBG:SetTexture(TEXTURE) + RuneBG.multiplier = 1/3 + Rune.bg = RuneBG + Runes[index] = Rune + end self.Runes = Runes self.colors.runes[1] = {0.9, 0.15, 0.15} -- 1.7.9.5