/Tukui/modules/misc/altpowerbar.lua
http://github.com/Asphyxia/Tukui · Lua · 56 lines · 49 code · 7 blank · 0 comment · 4 complexity · 25745b04c2ff10074a8836d93081cf18 MD5 · raw file
- local T, C, L = unpack(select(2, ...))
- if IsAddOnLoaded("SmellyPowerBar") then return end
- PlayerPowerBarAlt:UnregisterEvent("UNIT_POWER_BAR_SHOW")
- PlayerPowerBarAlt:UnregisterEvent("UNIT_POWER_BAR_HIDE")
- PlayerPowerBarAlt:UnregisterEvent("PLAYER_ENTERING_WORLD")
-
- local AltPowerBar = CreateFrame("Frame", "TukuiAltPowerBar", TukuiInfoLeft)
- AltPowerBar:SetAllPoints()
- AltPowerBar:SetFrameStrata("HIGH")
- AltPowerBar:SetFrameLevel(2)
- AltPowerBar:EnableMouse(true)
- AltPowerBar:SetTemplate("Default")
- local AltPowerBarStatus = CreateFrame("StatusBar", "TukuiAltPowerBarStatus", AltPowerBar)
- AltPowerBarStatus:SetFrameLevel(AltPowerBar:GetFrameLevel() + 1)
- AltPowerBarStatus:SetStatusBarTexture(C.media.normTex)
- AltPowerBarStatus:SetMinMaxValues(0, 100)
- AltPowerBarStatus:Point("TOPLEFT", TukuiInfoLeft, "TOPLEFT", 2, -2)
- AltPowerBarStatus:Point("BOTTOMRIGHT", TukuiInfoLeft, "BOTTOMRIGHT", -2, 2)
- local AltPowerText = AltPowerBarStatus:CreateFontString(nil, "OVERLAY")
- AltPowerText:SetFont(C.media.font, 12)
- AltPowerText:Point("CENTER", AltPowerBar, "CENTER", 0, 0)
- AltPowerText:SetShadowColor(0, 0, 0)
- AltPowerText:SetShadowOffset(1.25, -1.25)
- AltPowerBar:RegisterEvent("UNIT_POWER")
- AltPowerBar:RegisterEvent("UNIT_POWER_BAR_SHOW")
- AltPowerBar:RegisterEvent("UNIT_POWER_BAR_HIDE")
- AltPowerBar:RegisterEvent("PLAYER_ENTERING_WORLD")
- AltPowerBar:SetScript("OnEvent", function(self)
- self:UnregisterEvent("PLAYER_ENTERING_WORLD")
- if UnitAlternatePowerInfo("player") then
- self:Show()
- else
- self:Hide()
- end
- end)
- local TimeSinceLastUpdate = 1
- AltPowerBarStatus:SetScript("OnUpdate", function(self, elapsed)
- if not AltPowerBar:IsShown() then return end
- TimeSinceLastUpdate = TimeSinceLastUpdate + elapsed
-
- if (TimeSinceLastUpdate >= 1) then
- self:SetMinMaxValues(0, UnitPowerMax("player", ALTERNATE_POWER_INDEX))
- local power = UnitPower("player", ALTERNATE_POWER_INDEX)
- local mpower = UnitPowerMax("player", ALTERNATE_POWER_INDEX)
- self:SetValue(power)
- AltPowerText:SetText(power.." / "..mpower)
- local r, g, b = oUFTukui.ColorGradient(power/mpower, 0,.8,0,.8,.8,0,.8,0,0)
- AltPowerBarStatus:SetStatusBarColor(r, g, b)
- self.TimeSinceLastUpdate = 0
- end
- end)