local Settings = OmaUFSettings;
local baseColor = Settings.BaseColor;
+local healthColor = Settings.HealthColor;
local overlayColorDispel = Settings.OverlayColorDispel;
local overlayColorCharm = Settings.OverlayColorCharm;
local overlayColorAlert = Settings.OverlayColorAlert;
local name = UnitName(unit);
if not name then return end
frame.name:SetText(ssub(name, 1, 10));
-
- local _, class = UnitClass(unit);
- local color = RAID_CLASS_COLORS[class];
- if color then frame.name:SetVertexColor(color.r, color.g, color.b) end
end
local function updateHealPred(frame, unit)
end
end
+local function updateHealthColor(frame, unit)
+ if not UnitPlayerControlled(unit) and UnitIsTapDenied(unit) then
+ frame.health:SetVertexColor(0.5, 0.5, 0.5);
+ elseif UnitIsPlayer(unit) then
+ local _, class = UnitClass(unit);
+ local color = RAID_CLASS_COLORS[class];
+ if color then
+ frame.health:SetVertexColor(color.r, color.g, color.b)
+ else
+ frame.health:SetVertexColor(unpack(healthColor))
+ end
+ elseif UnitPlayerControlled(unit) then
+ frame.health:SetVertexColor(0, 1, 0);
+ else
+ frame.health:SetVertexColor(UnitSelectionColor(unit));
+ end
+end
+
local eventFuncs = {
["UNIT_HEALTH"] = function(frame)
updateHealth(frame, frame.displayed);
end,
["UNIT_NAME_UPDATE"] = function(frame)
updateName(frame, frame.displayed);
+ updateHealthColor(frame, frame.unit);
end,
["UNIT_CONNECTION"] = function(frame)
updateHealthText(frame, frame.displayed);
end,
["UNIT_FACTION"] = function(frame)
updatePVP(frame, frame.unit);
+ updateHealthColor(frame, frame.unit);
end,
["PARTY_LEADER_CHANGED"] = function(frame)
updateLeaderIcon(frame, frame.unit);
updateStatus(frame, frame.unit);
updatePVP(frame, frame.unit);
updateLeaderIcon(frame, frame.unit);
+ updateHealthColor(frame, frame.unit);
end,
};
eventFuncs["UNIT_HEALTH_FREQUENT"] = eventFuncs["UNIT_HEALTH"];