2 -- 2019 Aleksi Blinnikka
4 local InCombatLockdown = InCombatLockdown;
5 -- hiding Blizzard frames somewhat based on ShadowedUF
6 local function hideBlizzardRaidButton()
7 if InCombatLockdown() then return end
8 local manager = CompactRaidFrameManager;
9 -- remove show and unlock buttons from manager
10 manager.displayFrame.hiddenModeToggle:Hide();
11 manager.displayFrame.lockedModeToggle:Hide();
15 local function hideBlizzardRaid()
16 if hidden then return end
19 if InCombatLockdown() then return end
20 CompactRaidFrameContainer:Hide();
21 local shown = CompactRaidFrameManager_GetSetting("IsShown");
22 if shown and shown ~= "0" then
23 CompactRaidFrameManager_SetSetting("IsShown", "0");
27 CompactRaidFrameContainer:UnregisterAllEvents();
28 -- there may still be frames created at startup getting events
29 for i=1,MAX_RAID_MEMBERS do
30 local frame = _G["CompactRaidFrame"..i];
31 if not frame then break end
32 frame:UnregisterAllEvents();
34 hooksecurefunc("CompactRaidFrameManager_UpdateShown", hide);
36 CompactRaidFrameContainer:HookScript("OnShow", hide);
37 hooksecurefunc("CompactRaidFrameManager_UpdateOptionsFlowContainer", hideBlizzardRaidButton);
38 hideBlizzardRaidButton();
41 for _, frame in pairs({FocusFrame, FocusFrameToT, FocusFrameSpellBar}) do
42 frame:UnregisterAllEvents();
43 if frame.healthbar then frame.healthbar:UnregisterAllEvents() end
44 if frame.manabar then frame.manabar:UnregisterAllEvents() end
45 if frame.spellbar then frame.spellbar:UnregisterAllEvents() end
46 if frame.powerBarAlt then frame.powerBarAlt:UnregisterAllEvents() end
51 local uf_hidden = false;
52 local function hideBlizzardUnitFrames()
53 if uf_hidden then return end
57 PlayerFrame, PaladinPowerBarFrame, WarlockPowerFrame,
58 PlayerFrameAlternateManaBar,
60 --local frames = {PlayerFrame, TargetFrame, TargetFrameToT, PetFrame,
61 -- PlayerFrameAlternateManaBar, ComboFrame, PriestBarFrame, RuneFrame,
62 -- WarlockPowerFrame, MonkHarmonyBarFrame, PaladinPowerBarFrame,
63 -- MageArcaneChargesFrame, CastingBarFrame, PetCastingBarFrame};
64 --for i = 1,MAX_BOSS_FRAMES do
65 -- table.insert(frames, _G["Boss"..i.."TargetFrame"]);
66 -- table.insert(frames, _G["Boss"..i.."TargetFrameHealthBar"]);
67 -- table.insert(frames, _G["Boss"..i.."TargetFrameManaBar"]);
68 -- -- keep boss frame powerBarAlt
70 for _, frame in pairs(frames) do
71 frame:UnregisterAllEvents();
72 if frame.healthbar then frame.healthbar:UnregisterAllEvents() end
73 if frame.manabar then frame.manabar:UnregisterAllEvents() end
74 if frame.spellbar then frame.spellbar:UnregisterAllEvents() end
75 --if frame.powerBarAlt then frame.powerBarAlt:UnregisterAllEvents() end
79 -- from ShadowedUF, re-register vehicle events for default auras
80 PlayerFrame:RegisterEvent("PLAYER_ENTERING_WORLD");
81 PlayerFrame:RegisterEvent("UNIT_ENTERING_VEHICLE");
82 PlayerFrame:RegisterEvent("UNIT_ENTERED_VEHICLE");
83 PlayerFrame:RegisterEvent("UNIT_EXITING_VEHICLE");
84 PlayerFrame:RegisterEvent("UNIT_EXITED_VEHICLE");
85 PlayerFrame:SetMovable(true);
86 PlayerFrame:SetUserPlaced(true);
87 PlayerFrame:SetDontSavePosition(true);
88 CastingBarFrame:ClearAllPoints();
89 CastingBarFrame:SetPoint("BOTTOM", UIParent, "CENTER", -300, -146);
92 local hider = CreateFrame("Frame");
94 hider:RegisterEvent("PLAYER_LOGIN");
95 hider:RegisterEvent("PLAYER_REGEN_ENABLED");
96 hider:SetScript("OnEvent", function(self, event)
97 if event == "PLAYER_REGEN_ENABLED" then
98 -- if CompactRaidFrameManager_UpdateOptionsFlowContainer was called in combat
99 -- couldn't hide the button
100 hideBlizzardRaidButton();
101 elseif event == "PLAYER_LOGIN" then
103 hideBlizzardUnitFrames();