local dispelcolor = addon.Colors.OverlayColorDispel;
local charmcolor = addon.Colors.OverlayColorCharm;
local majorcolor = addon.Colors.OverlayColorAlert;
+local healcolor = addon.Colors.OverlayColorHeal;
local function updateAuras()
-- TODO
if not frame.text:IsShown() then frame.text:Show() end
if frame.health:IsShown() then frame.health:Hide() end
if frame.shield:IsShown() then frame.shield:Hide() end
+ if frame.shieldhl:IsShown() then frame.shieldhl:Hide() end
if frame.healpred:IsShown() then frame.healpred:Hide() end
if frame.healabsorb:IsShown() then frame.healabsorb:Hide() end
--if frame.auras:IsShown() then frame.auras:Hide() end
+ frame.prev.health = nil;
+ frame.prev.hmax = nil;
elseif not UnitIsConnected(unit) then
frame.text:SetText("DC");
if not frame.text:IsShown() then frame.text:Show() end
if frame.health:IsShown() then frame.health:Hide() end
if frame.shield:IsShown() then frame.shield:Hide() end
+ if frame.shieldhl:IsShown() then frame.shieldhl:Hide() end
if frame.healpred:IsShown() then frame.healpred:Hide() end
if frame.healabsorb:IsShown() then frame.healabsorb:Hide() end
--if frame.auras:IsShown() then frame.auras:Hide() end
+ frame.prev.health = nil;
+ frame.prev.hmax = nil;
else
if UnitIsAFK(unit) then
frame.text:SetText("afk");
frame.healpred:Hide();
end
-- auras
- if updateAuras(frame, unit) then
+ if next(frame.alert) then
-- major
if frame.overlay.color ~= majorcolor then
frame.overlay:SetVertexColor(unpack(majorcolor));
frame.overlay.color = majorcolor;
if not frame.overlay:IsShown() then frame.overlay:Show() end
end
+ elseif next(frame.heal) then
+ -- major heals needed
+ if frame.overlay.color ~= healcolor then
+ frame.overlay:SetVertexColor(unpack(healcolor));
+ frame.overlay.color = healcolor;
+ if not frame.overlay:IsShown() then frame.overlay:Show() end
+ end
elseif UnitIsCharmed(unit) and frame.unit == frame.displayed then
-- charmed
if frame.overlay.color ~= charmcolor then