cd9dfa5 - Move frame.dead to updateText as it sometimes was missed
[wowui.git] / OmaUF / UnitFrames.lua
index b0738ee..1fd993d 100644 (file)
@@ -3,18 +3,21 @@ local _;
 local pairs = pairs;
 local InCombatLockdown = InCombatLockdown;
 
-local UnitFrames = CreateFrame("Frame", "OmaUnitFrames");
+local UnitFrames = CreateFrame("Frame", "OmaUnitFrame", UIParent);
 
 local M = {};
 OmaUnitFrames = M;
 
 local function initialize()
-    local player = M.InitializePlayer(UIParent);
+    UnitFrames:SetFrameStrata("LOW");
+    UnitFrames:SetPoint("CENTER");
+    UnitFrames:SetWidth(1);
+    UnitFrames:SetHeight(1);
+    local player = M.InitializePlayer(UnitFrames);
     M.InitializePet(player);
-    local target = M.InitializeTarget(UIParent);
+    local target = M.InitializeTarget(UnitFrames);
     --M.InitializeToT(target); -- might not do this
-    M.InitializeBoss(UIParent);
-    -- TODO boss frames, (arena frames)
+    M.InitializeBoss(UnitFrames);
 end
 
 local hidden = false;
@@ -25,29 +28,22 @@ local function hideBlizzardFrames()
     local frames = {PlayerFrame, TargetFrame, TargetFrameToT, PetFrame,
         PlayerFrameAlternateManaBar, ComboFrame, PriestBarFrame, RuneFrame,
         WarlockPowerFrame, MonkHarmonyBarFrame, PaladinPowerBarFrame,
-        MageArcaneChargesFrame};
+        MageArcaneChargesFrame, CastingBarFrame, PetCastingBarFrame};
     for i = 1,MAX_BOSS_FRAMES do
         table.insert(frames, _G["Boss"..i.."TargetFrame"]);
         table.insert(frames, _G["Boss"..i.."TargetFrameHealthBar"]);
         table.insert(frames, _G["Boss"..i.."TargetFrameManaBar"]);
+        -- keep boss frame powerBarAlt
     end
     for _, frame in pairs(frames) do
         frame:UnregisterAllEvents();
         if frame.healthbar then frame.healthbar:UnregisterAllEvents() end
         if frame.manabar then frame.manabar:UnregisterAllEvents() end
         if frame.spellbar then frame.spellbar:UnregisterAllEvents() end
-        if frame.powerBarAlt then frame.powerBarAlt:UnregisterAllEvents() end
+        --if frame.powerBarAlt then frame.powerBarAlt:UnregisterAllEvents() end
         frame:Hide();
     end
 
-    -- TODO create frames for class powers, currently using Simple Holy Power
-    --for _, frame in pairs({PlayerFrameAlternateManaBar, ComboFrame,
-    --        PriestBarFrame, RuneFrame, WarlockPowerFrame, MonkHarmonyBarFrame,
-    --        PaladinPowerBarFrame, MageArcaneChargesFrame}) do
-    --    frame:UnregisterAllEvents();
-    --    frame:Hide();
-    --end
-
     -- from ShadowedUF, re-register vehicle events for default auras
     PlayerFrame:RegisterEvent("PLAYER_ENTERING_WORLD");
     PlayerFrame:RegisterEvent("UNIT_ENTERING_VEHICLE");
@@ -64,7 +60,6 @@ local hiddenFrame = CreateFrame("Frame");
 hiddenFrame:Hide();
 local arenaHidden = false;
 local function hideArenaFrames()
-    -- not run if /reload happens in combat, may cause problems?
     if not arenaHidden and not InCombatLockdown() then
         arenaHidden = true;
         ArenaEnemyFrames:UnregisterAllEvents();
@@ -78,11 +73,11 @@ end
 UnitFrames:RegisterEvent("PLAYER_LOGIN");
 UnitFrames:RegisterEvent("ADDON_LOADED");
 UnitFrames:SetScript("OnEvent", function(self, event, addon)
-    if event == "PLAYER_LOGIN" then
+    if event == "ADDON_LOADED" and addon == "Blizzard_ArenaUI" then
+        hideArenaFrames();
+    elseif event == "PLAYER_LOGIN" then
         OmaUFLoadChar();
         hideBlizzardFrames();
         initialize();
-    elseif event == "ADDON_LOADED" and addon == "Blizzard_ArenaUI" then
-        hideArenaFrames();
     end
 end);