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, PlayerFrameAlternateManaBar, PaladinPowerBarFrame,
58 WarlockPowerFrame, ComboFrame, PriestBarFrame, RuneFrame,
59 MonkHarmonyBarFrame, MageArcaneChargesFrame, CastingBarFrame,
60 PetFrame, PetCastingBarFrame, TargetFrame, TargetFrameToT,
62 --for i = 1,MAX_BOSS_FRAMES do
63 -- table.insert(frames, _G["Boss"..i.."TargetFrame"]);
64 -- table.insert(frames, _G["Boss"..i.."TargetFrameHealthBar"]);
65 -- table.insert(frames, _G["Boss"..i.."TargetFrameManaBar"]);
66 -- -- keep boss frame powerBarAlt
68 for _, frame in pairs(frames) do
69 frame:UnregisterAllEvents();
70 if frame.healthbar then frame.healthbar:UnregisterAllEvents() end
71 if frame.manabar then frame.manabar:UnregisterAllEvents() end
72 if frame.spellbar then frame.spellbar:UnregisterAllEvents() end
73 --if frame.powerBarAlt then frame.powerBarAlt:UnregisterAllEvents() end
77 -- from ShadowedUF, re-register vehicle events for default auras
78 PlayerFrame:RegisterEvent("PLAYER_ENTERING_WORLD");
79 PlayerFrame:RegisterEvent("UNIT_ENTERING_VEHICLE");
80 PlayerFrame:RegisterEvent("UNIT_ENTERED_VEHICLE");
81 PlayerFrame:RegisterEvent("UNIT_EXITING_VEHICLE");
82 PlayerFrame:RegisterEvent("UNIT_EXITED_VEHICLE");
83 PlayerFrame:SetMovable(true);
84 PlayerFrame:SetUserPlaced(true);
85 PlayerFrame:SetDontSavePosition(true);
88 local hider = CreateFrame("Frame");
90 hider:RegisterEvent("PLAYER_LOGIN");
91 hider:RegisterEvent("PLAYER_REGEN_ENABLED");
92 hider:SetScript("OnEvent", function(self, event)
93 if event == "PLAYER_REGEN_ENABLED" then
94 -- if CompactRaidFrameManager_UpdateOptionsFlowContainer was called in combat
95 -- couldn't hide the button
96 hideBlizzardRaidButton();
97 elseif event == "PLAYER_LOGIN" then
99 hideBlizzardUnitFrames();