local addonName, addon = ... local function enable(frame) ClickCastFrames[frame] = true end function addon:Enable_BlizzRaidPullouts() hooksecurefunc("CreateFrame", function(type, name, parent, template) if template == "RaidPulloutButtonTemplate" then local frame = _G[tostring(name) .. "ClearButton"] if frame then enable(frame) end end end) end function addon:Enable_BlizzCompactUnitFrames() hooksecurefunc("CompactUnitFrame_SetUpFrame", function(frame, ...) enable(frame) end) end function addon:Enable_BlizzArenaFrames() local frames = { ArenaEnemyFrame1, ArenaEnemyFrame2, ArenaEnemyFrame3, ArenaEnemyFrame4, ArenaEnemyFrame5, } for idx, frame in ipairs(frames) do enable(frame) end end function addon:Enable_BlizzSelfFrames() local frames = { PlayerFrame, PetFrame, TargetFrame, TargetFrameToT, FocusFrame, FocusFrameToT, } for idx, frame in ipairs(frames) do enable(frame) end end function addon:Enable_BlizzPartyFrames() local frames = { PartyMemberFrame1, PartyMemberFrame2, PartyMemberFrame3, PartyMemberFrame4, PartyMemberFrame5, PartyMemberFrame1PetFrame, PartyMemberFrame2PetFrame, PartyMemberFrame3PetFrame, PartyMemberFrame4PetFrame, PartyMemberFrame5PetFrame, } for idx, frame in ipairs(frames) do enable(frame) end end function addon:Enable_BlizzCompactParty() local frames = { CompactPartyFrameMemberSelf, CompactPartyFrameMemberSelfBuff1, CompactPartyFrameMemberSelfBuff2, CompactPartyFrameMemberSelfBuff3, CompactPartyFrameMemberSelfDebuff1, CompactPartyFrameMemberSelfDebuff2, CompactPartyFrameMemberSelfDebuff3, CompactPartyFrameMember1, CompactPartyFrameMember1Buff1, CompactPartyFrameMember1Buff2, CompactPartyFrameMember1Buff3, CompactPartyFrameMember1Debuff1, CompactPartyFrameMember1Debuff2, CompactPartyFrameMember1Debuff3, CompactPartyFrameMember2, CompactPartyFrameMember2Buff1, CompactPartyFrameMember2Buff2, CompactPartyFrameMember2Buff3, CompactPartyFrameMember2Debuff1, CompactPartyFrameMember2Debuff2, CompactPartyFrameMember2Debuff3, CompactPartyFrameMember3, CompactPartyFrameMember3Buff1, CompactPartyFrameMember3Buff2, CompactPartyFrameMember3Buff3, CompactPartyFrameMember3Debuff1, CompactPartyFrameMember3Debuff2, CompactPartyFrameMember3Debuff3, CompactPartyFrameMember4, CompactPartyFrameMember4Buff1, CompactPartyFrameMember4Buff2, CompactPartyFrameMember4Buff3, CompactPartyFrameMember4Debuff1, CompactPartyFrameMember4Debuff2, CompactPartyFrameMember4Debuff3, CompactPartyFrameMember5, CompactPartyFrameMember5Buff1, CompactPartyFrameMember5Buff2, CompactPartyFrameMember5Buff3, CompactPartyFrameMember5Debuff1, CompactPartyFrameMember5Debuff2, CompactPartyFrameMember5Debuff3, } for idx, frame in ipairs(frames) do enable(frame) end end function addon:Enable_BlizzBossFrames() local frames = { Boss1TargetFrame, Boss2TargetFrame, Boss3TargetFrame, Boss4TargetFrame, } for idx, frame in ipairs(frames) do enable(frame) end end function addon:EnableBlizzardFrames() self:Enable_BlizzRaidPullouts() self:Enable_BlizzCompactUnitFrames() self:Enable_BlizzArenaFrames() self:Enable_BlizzSelfFrames() self:Enable_BlizzPartyFrames() self:Enable_BlizzCompactParty() self:Enable_BlizzBossFrames() if IsAddOnLoaded("Blizzard_ArenaUI") then self:Enable_BlizzArenaFrames() else local frame = CreateFrame("Frame") frame:RegisterEvent("ADDON_LOADED") frame:SetScript("OnEvent", function(frame, event, ...) if ... == "Blizzard_ArenaUI" then self:UnregisterEvent("ADDON_LOADED") self:SetScript("OnEvent", nil) self:Enable_BlizzArenaFrames() end end) end end