mirror of
https://github.com/Bluewhale1337/ElvUIModernized.git
synced 2026-07-27 16:34:45 +00:00
72 lines
1.5 KiB
Lua
72 lines
1.5 KiB
Lua
local ns = oUF
|
|
local oUF = ns.oUF
|
|
|
|
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(unit:match('party%d?$')) then
|
|
local id = unit:match('party(%d)')
|
|
if(id) then
|
|
handleFrame('PartyMemberFrame' .. id)
|
|
else
|
|
for i = 1, MAX_PARTY_MEMBERS do
|
|
handleFrame(string.format('PartyMemberFrame%d', i))
|
|
end
|
|
end
|
|
end
|
|
end |