mirror of
https://github.com/parnic/ice-hud.git
synced 2025-06-16 06:40:13 -05:00
- fixed SetBottomText1 to propertly set text colors on the upper text line
- eclipse bar now colors the numerical value to whatever direction the bar is heading
This commit is contained in:
@ -1155,6 +1155,7 @@ function IceBarElement.prototype:SetBottomText1(text, color)
|
|||||||
alpha = 1
|
alpha = 1
|
||||||
end
|
end
|
||||||
|
|
||||||
|
self.frame.bottomUpperText:SetTextColor(self:GetColor(color, alpha))
|
||||||
self.frame.bottomUpperText:SetText(text)
|
self.frame.bottomUpperText:SetText(text)
|
||||||
self.frame.bottomUpperText:SetWidth(0)
|
self.frame.bottomUpperText:SetWidth(0)
|
||||||
end
|
end
|
||||||
|
@ -1,12 +1,20 @@
|
|||||||
local L = LibStub("AceLocale-3.0"):GetLocale("IceHUD", false)
|
local L = LibStub("AceLocale-3.0"):GetLocale("IceHUD", false)
|
||||||
local EclipseBar = IceCore_CreateClass(IceBarElement)
|
local EclipseBar = IceCore_CreateClass(IceBarElement)
|
||||||
|
|
||||||
EclipseBar.prototype.barUpdateColor = "EclipseLunar"
|
EclipseBar.prototype.barUpdateColor = "EclipseLunar"
|
||||||
|
EclipseBar.prototype.direction = "none"
|
||||||
|
|
||||||
|
local DirectionToColorMapping = {
|
||||||
|
none = "Text",
|
||||||
|
sun = "EclipseSolar",
|
||||||
|
moon = "EclipseLunar",
|
||||||
|
}
|
||||||
|
|
||||||
function EclipseBar.prototype:init()
|
function EclipseBar.prototype:init()
|
||||||
EclipseBar.super.prototype.init(self, "EclipseBar")
|
EclipseBar.super.prototype.init(self, "EclipseBar")
|
||||||
|
|
||||||
self:SetDefaultColor("EclipseLunar", 31, 31, 231)
|
self:SetDefaultColor("EclipseLunar", 35, 104, 231)
|
||||||
self:SetDefaultColor("EclipseLunarActive", 0, 0, 255)
|
self:SetDefaultColor("EclipseLunarActive", 35, 104, 231)
|
||||||
self:SetDefaultColor("EclipseSolar", 190, 210, 31)
|
self:SetDefaultColor("EclipseSolar", 190, 210, 31)
|
||||||
self:SetDefaultColor("EclipseSolarActive", 238, 251, 31)
|
self:SetDefaultColor("EclipseSolarActive", 238, 251, 31)
|
||||||
end
|
end
|
||||||
@ -46,9 +54,12 @@ function EclipseBar.prototype:Enable(core)
|
|||||||
self:RegisterEvent("PLAYER_TALENT_UPDATE", "UpdateShown")
|
self:RegisterEvent("PLAYER_TALENT_UPDATE", "UpdateShown")
|
||||||
self:RegisterEvent("MASTERY_UPDATE", "UpdateShown")
|
self:RegisterEvent("MASTERY_UPDATE", "UpdateShown")
|
||||||
self:RegisterEvent("UNIT_AURA", "UpdateEclipseBuffs")
|
self:RegisterEvent("UNIT_AURA", "UpdateEclipseBuffs")
|
||||||
|
self:RegisterEvent("ECLIPSE_DIRECTION_CHANGE", "UpdateEclipseDirection")
|
||||||
|
|
||||||
self.frame:SetScript("OnUpdate", function() self:Update() end)
|
self.frame:SetScript("OnUpdate", function() self:Update() end)
|
||||||
|
|
||||||
|
self:UpdateEclipseDirection(nil, GetEclipseDirection() == "sun", GetEclipseDirection() == "none")
|
||||||
|
self:UpdateEclipseBuffs()
|
||||||
self:UpdateShown()
|
self:UpdateShown()
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -56,6 +67,12 @@ function EclipseBar.prototype:Disable(core)
|
|||||||
EclipseBar.super.prototype.Disable(self, core)
|
EclipseBar.super.prototype.Disable(self, core)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- note that isNone is not passed by the ECLIPSE_DIRECTION_CHANGE event, only manually via :Enable
|
||||||
|
function EclipseBar.prototype:UpdateEclipseDirection(event, isLunar, isNone)
|
||||||
|
self.direction = isLunar and "sun" or isNone and "none" or "moon"
|
||||||
|
self:UpdateEclipsePower()
|
||||||
|
end
|
||||||
|
|
||||||
function EclipseBar.prototype:SetBarVisibility(visible)
|
function EclipseBar.prototype:SetBarVisibility(visible)
|
||||||
EclipseBar.super.prototype.SetBarVisibility(self, visible)
|
EclipseBar.super.prototype.SetBarVisibility(self, visible)
|
||||||
|
|
||||||
@ -170,8 +187,19 @@ function EclipseBar.prototype:UpdateEclipsePower()
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
self:SetBottomText1(abs((power/maxPower) * 100))
|
self:SetBottomText1(abs((power/maxPower) * 100), DirectionToColorMapping[self.direction])
|
||||||
|
|
||||||
|
-- i'm rather fond of this solution so i'm keeping it around...the correct fix was in IceBarElement to set the upper text color
|
||||||
|
-- but hey, this would have been sweet.
|
||||||
|
--[[
|
||||||
|
local r,g,b = self:GetColor(DirectionToColorMapping[self.direction])
|
||||||
|
self:SetBottomText1(string.format("|c%x%x%x%x%d|r",
|
||||||
|
self.alpha * 255,
|
||||||
|
r * 255,
|
||||||
|
g * 255,
|
||||||
|
b * 255,
|
||||||
|
abs((power/maxPower) * 100)))
|
||||||
|
]]
|
||||||
local pos = (power/maxPower) / 2
|
local pos = (power/maxPower) / 2
|
||||||
self:PositionMarker(1, pos)
|
self:PositionMarker(1, pos)
|
||||||
end
|
end
|
||||||
@ -180,7 +208,7 @@ function EclipseBar.prototype:Update()
|
|||||||
EclipseBar.super.prototype.Update(self)
|
EclipseBar.super.prototype.Update(self)
|
||||||
|
|
||||||
self:UpdateEclipsePower()
|
self:UpdateEclipsePower()
|
||||||
self:UpdateBar(0.5, self.barUpdateColor)
|
self:UpdateBar(0.5, self.barUpdateColor, 1)
|
||||||
self:UpdateAlpha()
|
self:UpdateAlpha()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user