0a812d4b9876b6d52c331d3210be42b2b9fe9b96
[wowui.git] / OmaUF / UnitFrames.lua
1 -- UnitFrames.lua
2 local _;
3 local pairs = pairs;
4
5 local UnitFrames = CreateFrame("Frame", "OmaUnitFrames");
6
7 local M = {};
8 OmaUnitFrames = M;
9
10 local function initialize()
11     local player = M.InitializePlayer(UIParent);
12     --M.InitializePet(player);
13     local target = M.InitializeTarget(UIParent);
14     --M.InitializeToT(target);
15     -- TODO boss frames, (arena frames)
16 end
17
18 local hidden = false;
19 local function hideBlizzardFrames()
20     if hidden then return end
21     hidden = true;
22
23     for _, frame in pairs({PlayerFrame, TargetFrame, TargetFrameToT, PetFrame}) do
24         frame:UnregisterAllEvents();
25         frame.healthbar:UnregisterAllEvents();
26         frame.manabar:UnregisterAllEvents();
27         if frame.spellbar then frame.spellbar:UnregisterAllEvents() end
28         if frame.powerBarAlt then frame.powerBarAlt:UnregisterAllEvents() end
29         frame:Hide();
30     end
31
32     -- TODO create frames for class powers, currently using Simple Holy Power
33     for _, frame in pairs({PlayerFrameAlternateManaBar, ComboFrame,
34             PriestBarFrame, RuneFrame, WarlockPowerFrame, MonkHarmonyBarFrame,
35             PaladinPowerBarFrame, MageArcaneChargesFrame}) do
36         frame:UnregisterAllEvents();
37         frame:Hide();
38     end
39
40     -- from ShadowedUF, re-register vehicle events for default auras
41     PlayerFrame:RegisterEvent("PLAYER_ENTERING_WORLD");
42     PlayerFrame:RegisterEvent("UNIT_ENTERING_VEHICLE");
43     PlayerFrame:RegisterEvent("UNIT_ENTERED_VEHICLE");
44     PlayerFrame:RegisterEvent("UNIT_EXITING_VEHICLE");
45     PlayerFrame:RegisterEvent("UNIT_EXITED_VEHICLE");
46     PlayerFrame:SetMovable(true);
47     PlayerFrame:SetUserPlaced(true);
48     PlayerFrame:SetDontSavePosition(true);
49 end
50
51 UnitFrames:RegisterEvent("PLAYER_LOGIN");
52 UnitFrames:SetScript("OnEvent", function(self, event)
53     if event == "PLAYER_LOGIN" then
54         OmaUFLoadChar();
55         hideBlizzardFrames();
56         initialize();
57     end
58 end);