mirror of
https://github.com/Bluewhale1337/ElvUIModernized.git
synced 2026-07-27 16:34:45 +00:00
74 lines
1.5 KiB
Lua
74 lines
1.5 KiB
Lua
local ns = oUF
|
|
local oUF = ns.oUF
|
|
|
|
local format, match = string.format, string.match
|
|
|
|
local hiddenParent = CreateFrame("Frame")
|
|
|
|
-- sourced from FrameXML/PartyMemberFrame.lua
|
|
local MAX_PARTY_MEMBERS = MAX_PARTY_MEMBERS or 4
|
|
|
|
local hiddenParent = CreateFrame("Frame", nil, UIParent)
|
|
hiddenParent:SetAllPoints()
|
|
hiddenParent:Hide()
|
|
|
|
local function handleFrame(baseName)
|
|
local frame
|
|
if type(baseName) == "string" then
|
|
frame = _G[baseName]
|
|
else
|
|
frame = baseName
|
|
end
|
|
|
|
if frame then
|
|
frame:UnregisterAllEvents()
|
|
frame:Hide()
|
|
|
|
-- Keep frame hidden without causing taint
|
|
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 buffFrame = frame.BuffFrame
|
|
if buffFrame then
|
|
buffFrame:UnregisterAllEvents()
|
|
end
|
|
end
|
|
end
|
|
|
|
function oUF:DisableBlizzard(unit)
|
|
if not unit then return end
|
|
|
|
if unit == "player" then
|
|
handleFrame(PlayerFrame)
|
|
elseif unit == "pet" then
|
|
handleFrame(PetFrame)
|
|
elseif unit == "target" then
|
|
handleFrame(TargetFrame)
|
|
handleFrame(ComboFrame)
|
|
elseif unit == "targettarget" then
|
|
handleFrame(TargetofTargetFrame)
|
|
elseif match(unit, "party%d?$") then
|
|
local id = match(unit, "party(%d)")
|
|
if id then
|
|
handleFrame("PartyMemberFrame" .. id)
|
|
else
|
|
for i = 1, MAX_PARTY_MEMBERS do
|
|
handleFrame(format("PartyMemberFrame%d", i))
|
|
end
|
|
end
|
|
end
|
|
end |