local bar = self.Gui.Art.Bar; |
|
local rpPerc = rp / UnitManaMax("player"); |
local rpPc = rpPerc * (1 - (2 * 0.02734)) + 0.02734; |
local newWid = barWidth * rpPc; |
local rpPercN = 1 - rp; |
local newWid = barWidth * rpPerc; |
|
if (rp == 0) then |
bar:Hide(); |
else |
bar:Show(); |
bar:SetWidth(newWid); |
bar:SetTexCoord(0,rpPc,0,1); |
bar:SetTexCoord(0,rpPerc,0,1); |
end |
|
local rpCol = self:BlendColors(rpBarCol, rpBarColMax, rpPerc); |
local rpCol = {}; |
rpCol.r = rpBarColMax.r; --* rpPercN + rpBarColMax.r * rpPerc; |
rpCol.g = rpBarColMax.g; --* rpPercN + rpBarColMax.g * rpPerc; |
rpCol.b = rpBarColMax.b; --* rpPercN + rpBarColMax.b * rpPerc; |
|
rpCol.a = (rpPerc * 0.6) + 0.6; |
|
bar:SetVertexColor(rpCol.r, rpCol.g, rpCol.b, rpCol.a); |
end |
end |
|
function RuneWatch:BlendColors(col1, col2, perc) |
local invPerc = 1 - perc; |
|
local newc = { r = 0, g = 0, b = 0 } |
|
newc.r = col1.r * perc + col2.r * invPerc; |
newc.g = col1.g * perc + col2.g * invPerc; |
newc.b = col1.b * perc + col2.b * invPerc; |
|
return newc; |
end |
|
function RuneWatch:InitGui() |
self.Gui = { Runes = {} } |
|