You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.4 KiB
91 lines
2.4 KiB
local _, Cell = ...
|
|
local F = Cell.funcs
|
|
|
|
-- stolen from elvui
|
|
local hiddenParent = CreateFrame("Frame", nil, _G.UIParent)
|
|
hiddenParent:SetAllPoints()
|
|
hiddenParent:Hide()
|
|
|
|
local function HideFrame(frame)
|
|
if not frame then return end
|
|
|
|
frame:UnregisterAllEvents()
|
|
frame:Hide()
|
|
frame:SetParent(hiddenParent)
|
|
|
|
local health = frame.healthBar or frame.healthbar
|
|
if health then
|
|
health:UnregisterAllEvents()
|
|
end
|
|
|
|
local power = frame.manabar
|
|
if power then
|
|
power:UnregisterAllEvents()
|
|
end
|
|
|
|
local spell = frame.castBar or frame.spellbar
|
|
if spell then
|
|
spell:UnregisterAllEvents()
|
|
end
|
|
|
|
local altpowerbar = frame.powerBarAlt
|
|
if altpowerbar then
|
|
altpowerbar:UnregisterAllEvents()
|
|
end
|
|
|
|
local buffFrame = frame.BuffFrame
|
|
if buffFrame then
|
|
buffFrame:UnregisterAllEvents()
|
|
end
|
|
|
|
local petFrame = frame.PetFrame
|
|
if petFrame then
|
|
petFrame:UnregisterAllEvents()
|
|
end
|
|
end
|
|
|
|
function F.HideBlizzardParty()
|
|
_G.UIParent:UnregisterEvent("GROUP_ROSTER_UPDATE")
|
|
|
|
if _G.CompactPartyFrame then
|
|
_G.CompactPartyFrame:UnregisterAllEvents()
|
|
end
|
|
|
|
if _G.PartyFrame then
|
|
_G.PartyFrame:UnregisterAllEvents()
|
|
_G.PartyFrame:SetScript("OnShow", nil)
|
|
for frame in _G.PartyFrame.PartyMemberFramePool:EnumerateActive() do
|
|
HideFrame(frame)
|
|
end
|
|
HideFrame(_G.PartyFrame)
|
|
else
|
|
for i = 1, 4 do
|
|
HideFrame(_G["PartyMemberFrame"..i])
|
|
HideFrame(_G["CompactPartyMemberFrame"..i])
|
|
end
|
|
HideFrame(_G.PartyMemberBackground)
|
|
end
|
|
end
|
|
|
|
function F.HideBlizzardRaid()
|
|
_G.UIParent:UnregisterEvent("GROUP_ROSTER_UPDATE")
|
|
|
|
if _G.CompactRaidFrameContainer then
|
|
_G.CompactRaidFrameContainer:UnregisterAllEvents()
|
|
hooksecurefunc(_G.CompactRaidFrameContainer, "Show", _G.CompactRaidFrameContainer.Hide)
|
|
hooksecurefunc(_G.CompactRaidFrameContainer, "SetShown", function(frame, shown)
|
|
if shown then
|
|
frame:Hide()
|
|
end
|
|
end)
|
|
end
|
|
|
|
if CompactRaidFrameManager_SetSetting then
|
|
CompactRaidFrameManager_SetSetting("IsShown", "0")
|
|
end
|
|
|
|
if _G.CompactRaidFrameManager then
|
|
_G.CompactRaidFrameManager:UnregisterAllEvents()
|
|
_G.CompactRaidFrameManager:SetParent(hiddenParent)
|
|
end
|
|
end
|