init
This commit is contained in:
@@ -0,0 +1,112 @@
|
||||
local parent, ns = ...
|
||||
local oUF = ns.oUF
|
||||
|
||||
-- sourced from Blizzard_ArenaUI/Blizzard_ArenaUI.lua
|
||||
local MAX_ARENA_ENEMIES = MAX_ARENA_ENEMIES or 5
|
||||
|
||||
-- sourced from FrameXML/TargetFrame.lua
|
||||
local MAX_BOSS_FRAMES = MAX_BOSS_FRAMES or 4
|
||||
|
||||
-- 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)
|
||||
|
||||
-- For the damn vehicle support:
|
||||
PlayerFrame:RegisterEvent('PLAYER_ENTERING_WORLD')
|
||||
PlayerFrame:RegisterEvent('UNIT_ENTERING_VEHICLE')
|
||||
PlayerFrame:RegisterEvent('UNIT_ENTERED_VEHICLE')
|
||||
PlayerFrame:RegisterEvent('UNIT_EXITING_VEHICLE')
|
||||
PlayerFrame:RegisterEvent('UNIT_EXITED_VEHICLE')
|
||||
|
||||
-- User placed frames don't animate
|
||||
PlayerFrame:SetUserPlaced(true)
|
||||
PlayerFrame:SetDontSavePosition(true)
|
||||
elseif(unit == 'pet') then
|
||||
handleFrame(PetFrame)
|
||||
elseif(unit == 'target') then
|
||||
handleFrame(TargetFrame)
|
||||
handleFrame(ComboFrame)
|
||||
elseif(unit == 'focus') then
|
||||
handleFrame(FocusFrame)
|
||||
handleFrame(TargetofFocusFrame)
|
||||
elseif(unit == 'targettarget') then
|
||||
handleFrame(TargetFrameToT)
|
||||
elseif(unit:match('boss%d?$')) then
|
||||
local id = unit:match('boss(%d)')
|
||||
if(id) then
|
||||
handleFrame('Boss' .. id .. 'TargetFrame')
|
||||
else
|
||||
for i = 1, MAX_BOSS_FRAMES do
|
||||
handleFrame(string.format('Boss%dTargetFrame', i))
|
||||
end
|
||||
end
|
||||
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
|
||||
elseif(unit:match('arena%d?$')) then
|
||||
local id = unit:match('arena(%d)')
|
||||
if(id) then
|
||||
handleFrame('ArenaEnemyFrame' .. id)
|
||||
else
|
||||
for i = 1, MAX_ARENA_ENEMIES do
|
||||
handleFrame(string.format('ArenaEnemyFrame%d', i))
|
||||
end
|
||||
end
|
||||
|
||||
-- Blizzard_ArenaUI should not be loaded
|
||||
Arena_LoadUI = function() end
|
||||
SetCVar('showArenaEnemyFrames', '0', 'SHOW_ARENA_ENEMY_FRAMES_TEXT')
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user