922d6e4 - Remove OmaRF in favor of newer kehys frames
[wowui.git] / OmaUF / Events.lua
index 59b8592..03e790c 100644 (file)
@@ -10,7 +10,6 @@ local UnitHealth, UnitHealthMax = UnitHealth, UnitHealthMax;
 local UnitGetIncomingHeals, UnitGetTotalAbsorbs = UnitGetIncomingHeals, UnitGetTotalAbsorbs;
 local UnitThreatSituation, GetThreatStatusColor = UnitThreatSituation, GetThreatStatusColor;
 local UnitIsDeadOrGhost, UnitIsConnected = UnitIsDeadOrGhost, UnitIsConnected;
-local UnitGetTotalHealAbsorbs = UnitGetTotalHealAbsorbs;
 local UnitHasVehicleUI, UnitTargetsVehicleInRaidUI = UnitHasVehicleUI, UnitTargetsVehicleInRaidUI;
 local UnitLevel, UnitClassification = UnitLevel, UnitClassification;
 local UnitAffectingCombat, IsResting = UnitAffectingCombat, IsResting;
@@ -23,7 +22,7 @@ local UnitIsTapDenied, UnitSelectionColor = UnitIsTapDenied, UnitSelectionColor;
 local GetRaidTargetIndex, SetRaidTargetIconTexture = GetRaidTargetIndex, SetRaidTargetIconTexture;
 local RAID_CLASS_COLORS = RAID_CLASS_COLORS;
 
-local updateAuraFrames = OmaUFAuras.UpdateAuras;
+local updateAuras = OmaUFAuras.UpdateAuras;
 
 local Settings = OmaUFSettings;
 local baseColor = Settings.BaseColor;
@@ -41,7 +40,7 @@ function M.RegisterUnitEvents(frame)
     frame:RegisterUnitEvent("UNIT_HEALTH_FREQUENT", frame.unit, displayed);
     frame:RegisterUnitEvent("UNIT_MAXHEALTH", frame.unit, displayed);
     if frame.mana then
-        frame:RegisterUnitEvent("UNIT_POWER", frame.unit, displayed);
+        frame:RegisterUnitEvent("UNIT_POWER_UPDATE", frame.unit, displayed);
         frame:RegisterUnitEvent("UNIT_MAXPOWER", frame.unit, displayed);
         frame:RegisterUnitEvent("UNIT_DISPLAYPOWER", frame.unit, displayed);
         frame:RegisterUnitEvent("UNIT_POWER_BAR_SHOW", frame.unit, displayed);
@@ -50,9 +49,6 @@ function M.RegisterUnitEvents(frame)
     if frame.shield then
         frame:RegisterUnitEvent("UNIT_ABSORB_AMOUNT_CHANGED", frame.unit, displayed);
     end
-    if frame.healabsorb then
-        frame:RegisterUnitEvent("UNIT_HEAL_ABSORB_AMOUNT_CHANGED", frame.unit, displayed);
-    end
     if frame.auras then
         frame:RegisterUnitEvent("UNIT_AURA", frame.unit, displayed);
     end
@@ -66,6 +62,7 @@ local registerUnitEvents = M.RegisterUnitEvents;
 local function updateMaxHealth(frame, unit)
     frame.health.max = UnitHealthMax(unit);
 end
+M.UpdateMaxHealth = updateMaxHealth;
 
 local function updateHealth(frame, unit)
     local current, max = UnitHealth(unit), frame.health.max;
@@ -81,6 +78,7 @@ local function updateHealth(frame, unit)
         frame.health:Show();
     end
 end
+M.UpdateHealth = updateHealth;
 
 local function updateHealthText(frame, unit)
     if UnitIsDeadOrGhost(unit) then
@@ -102,10 +100,12 @@ local function updateHealthText(frame, unit)
         end
     end
 end
+M.UpdateHealthText = updateHealthText;
 
 local function updateMaxPower(frame, unit)
     frame.mana.max = UnitPowerMax(unit);
 end
+M.UpdateMaxPower = updateMaxPower;
 
 local function updatePower(frame, unit)
     local current, max = UnitPower(unit), frame.mana.max;
@@ -120,6 +120,7 @@ local function updatePower(frame, unit)
         frame.mana:Show();
     end
 end
+M.UpdatePower = updatePower;
 
 local function updatePowerText(frame, unit)
     local current, max = UnitPower(unit), frame.mana.max;
@@ -132,16 +133,19 @@ local function updatePowerText(frame, unit)
         frame.manaText:Hide();
     end
 end
+M.UpdatePowerText = updatePowerText;
 
 local function updatePowerColor(frame, unit)
     frame.mana:SetVertexColor(unpack(powerColors[UnitPowerType(unit)]));
 end
+M.UpdatePowerColor = updatePowerColor;
 
 local function updateName(frame, unit)
     local name = UnitName(unit);
     if not name then return end
     frame.name:SetText(ssub(name, 1, frame.name.count));
 end
+M.UpdateName = updateName;
 
 local function updateShield(frame, unit)
     local shield = UnitGetTotalAbsorbs(unit) or 0;
@@ -165,22 +169,7 @@ local function updateShield(frame, unit)
         frame.shieldhl:Hide();
     end
 end
-
-local function updateHealAbsorb(frame, unit)
-    local absorb = UnitGetTotalHealAbsorbs(unit) or 0;
-    if absorb > 0 then
-        local space = frame.health:GetWidth();
-        absorb = (absorb / frame.health.max) * frame.width;
-        frame.healabsorb:SetWidth(min(space, absorb));
-        frame.healabsorb:Show();
-    else
-        frame.healabsorb:Hide();
-    end
-end
-
-local function updateAuras(frame, unit)
-    if frame.auras then updateAuraFrames(frame, unit) end
-end
+M.UpdateShield = updateShield;
 
 local function updateAggro(frame, unit)
     local status = UnitThreatSituation(unit);
@@ -190,6 +179,7 @@ local function updateAggro(frame, unit)
         frame.base:SetVertexColor(unpack(baseColor));
     end
 end
+M.UpdateAggro = updateAggro;
 
 -- only works for player frame
 local function updateVehicle(frame)
@@ -207,6 +197,7 @@ local function updateVehicle(frame)
         registerUnitEvents(frame);
     end
 end
+M.UpdateVehicle = updateVehicle;
 
 local function updateLevelText(frame, unit, levelup)
     if levelup then
@@ -237,6 +228,7 @@ local function updateLevelText(frame, unit, levelup)
         frame.level:SetFormattedText("%s%s", leveltext, classtext);
     end
 end
+M.UpdateLevelText = updateLevelText;
 
 local function updateStatus(frame, unit)
     -- coords from FrameXML/PlayerFrame.lua
@@ -250,6 +242,7 @@ local function updateStatus(frame, unit)
         frame.status:Hide();
     end
 end
+M.UpdateStatus = updateStatus;
 
 local pvpIcons = {
     Alliance = "Interface\\TARGETINGFRAME\\UI-PVP-Alliance",
@@ -279,6 +272,7 @@ local function updatePVP(frame, unit)
         frame.pvp:Hide();
     end
 end
+M.UpdatePVP = updatePVP;
 
 local function updateLeaderIcon(frame, unit)
     if UnitIsGroupLeader(frame.unit) then
@@ -298,6 +292,7 @@ local function updateLeaderIcon(frame, unit)
         frame.leader:Hide();
     end
 end
+M.UpdateLeaderIcon = updateLeaderIcon;
 
 local function updateHealthColor(frame, unit)
     if not UnitPlayerControlled(unit) and UnitIsTapDenied(unit) then
@@ -316,6 +311,7 @@ local function updateHealthColor(frame, unit)
         frame.health:SetVertexColor(UnitSelectionColor(unit));
     end
 end
+M.UpdateHealthColor = updateHealthColor;
 
 local function updateRaidMarker(frame, unit)
     local index = GetRaidTargetIndex(unit);
@@ -326,15 +322,15 @@ local function updateRaidMarker(frame, unit)
         frame.targeticon:Hide();
     end
 end
+M.UpdateRaidMarker = updateRaidMarker;
 
 local eventFuncs = {
     ["UNIT_HEALTH"] = function(frame)
         updateHealth(frame, frame.displayed);
         updateHealthText(frame, frame.displayed);
         if frame.shield then updateShield(frame, frame.displayed) end
-        if frame.healabsorb then updateHealAbsorb(frame, frame.displayed) end
     end,
-    ["UNIT_POWER"] = function(frame)
+    ["UNIT_POWER_UPDATE"] = function(frame)
         updatePower(frame, frame.displayed);
         updatePowerText(frame, frame.displayed);
     end,
@@ -344,9 +340,6 @@ local eventFuncs = {
     ["UNIT_ABSORB_AMOUNT_CHANGED"] = function(frame)
         updateShield(frame, frame.displayed);
     end,
-    ["UNIT_HEAL_ABSORB_AMOUNT_CHANGED"] = function(frame)
-        updateHealAbsorb(frame, frame.displayed);
-    end,
     ["UNIT_THREAT_SITUATION_UPDATE"] = function(frame)
         updateAggro(frame, frame.displayed);
     end,
@@ -355,7 +348,6 @@ local eventFuncs = {
         updateHealth(frame, frame.displayed);
         updateHealthText(frame, frame.displayed);
         if frame.shield then updateShield(frame, frame.displayed) end
-        if frame.healabsorb then updateHealAbsorb(frame, frame.displayed) end
     end,
     ["UNIT_MAXPOWER"] = function(frame)
         updateMaxPower(frame, frame.displayed);
@@ -421,7 +413,6 @@ local eventFuncs = {
         end
         if frame.auras then updateAuras(frame, frame.displayed) end
         if frame.shield then updateShield(frame, frame.displayed) end
-        if frame.healabsorb then updateHealAbsorb(frame, frame.displayed) end
         if frame.name then updateName(frame, frame.displayed) end
         if frame.level then updateLevelText(frame, frame.unit) end
         if frame.status then updateStatus(frame, frame.unit) end
@@ -442,5 +433,5 @@ eventFuncs["INSTANCE_ENCOUNTER_ENGAGE_UNIT"] = eventFuncs["UPDATE_ALL_BARS"];
 eventFuncs["UNIT_TARGETABLE_CHANGED"] = eventFuncs["UPDATE_ALL_BARS"];
 
 function M.UnitEvent(self, event, arg1)
-    eventFuncs[event](self, arg1);
+    return eventFuncs[event](self, arg1);
 end