local READY_CHECK_NOT_READY_TEXTURE = READY_CHECK_NOT_READY_TEXTURE;
local READY_CHECK_WAITING_TEXTURE = READY_CHECK_WAITING_TEXTURE;
-local checkIndicators = OmaRFIndicators.CheckIndicators;
+local updateIndicatorAuras = OmaRFIndicators.UpdateAuras;
+local updateMajorAuras = OmaRFIndicators.UpdateMajorAuras;
local Settings = OmaRFSettings;
local baseColor = Settings.BaseColor;
frame.health:Show();
elseif current <= 0 or UnitIsDeadOrGhost(unit) then
frame.health:Hide();
- updateText(frame, unit); -- update death
+ return updateText(frame, unit); -- update death
else
local w = current/max*width;
frame.health:SetWidth(w);
M.UpdateHealAbsorb = updateHealAbsorb;
local function updateAuras(frame, unit)
- local alert = checkIndicators(frame, unit);
- if alert then
- if frame.overlay.color ~= overlayColorAlert then
+ updateIndicatorAuras(frame, unit); -- this is throttled
+ local barColor = updateMajorAuras(frame, unit);
+ if barColor then
+ if barColor == true and frame.overlay.color ~= overlayColorAlert then
frame.overlay:SetVertexColor(unpack(overlayColorAlert));
frame.overlay.color = overlayColorAlert;
frame.overlay:Show();
+ elseif barColor ~= true and frame.overlay.color ~= barColor then
+ frame.overlay:SetVertexColor(unpack(barColor));
+ frame.overlay.color = barColor;
+ frame.overlay:Show();
end
elseif UnitDebuff(unit, 1, "RAID") ~= nil then
-- something dispellable
eventFuncs["PLAYER_FOCUS_CHANGED"] = eventFuncs["UPDATE_ALL_BARS"];
function M.UnitEvent(self, event)
- eventFuncs[event](self);
+ return eventFuncs[event](self);
end