mirror of
https://github.com/brues-code/SuperCleveRoidMacros.git
synced 2026-09-16 03:38:00 +00:00
2ce4d11698
Replace hand-rolled ADDON_LOADED/PLAYER_LOGIN handlers with
EventUtil.ContinueOnAddOnLoaded / ContinueOnPlayerLogin, which fire
immediately if the event already happened -- removing the "we loaded before
the target addon and missed its ADDON_LOADED" workarounds.
- pfUI compat: ContinueOnAddOnLoaded("pfUI") + ContinueOnPlayerLogin; drops
the missed-event fallback (login path still re-runs SetupCompatibility).
- MacroErrorUI / MacroLengthWarn: ContinueOnAddOnLoaded("Blizzard_MacroUI"),
folding their manual "already loaded" checks.
- 9 Mouseover extensions (ag_UnitFrames, CT_RaidAssist, CT_UnitFrames,
DiscordUnitFrames, Grid, NotGrid, Cursive, sRaidFrames, PerfectRaid):
ContinueOnAddOnLoaded("<AddonName>", OnLoad). Since immediate-fire passes no
event args, the old `arg1 == "X"` checks are replaced by the addon-name gate
(global guards kept where present); also removes the buggy
UnregisterEvent("ADDON_LOADED", "Onload") no-ops that never fired.
Addon names match file names; drops support for renamed folders (e.g. -master).
43 lines
1.2 KiB
Lua
43 lines
1.2 KiB
Lua
local _G = _G or getfenv(0)
|
|
local CleveRoids = _G.CleveRoids or {}
|
|
|
|
CleveRoids.Hooks = CleveRoids.Hooks or {}
|
|
|
|
local Extension = CleveRoids.RegisterExtension("ag_UnitFrames")
|
|
|
|
function Extension.OnEnter(unit)
|
|
CleveRoids.SetMouseoverFrom("aguf", unit)
|
|
end
|
|
|
|
function Extension.OnLeave()
|
|
CleveRoids.ClearMouseoverFrom("aguf")
|
|
CleveRoids.ClearMouseoverFrom("native")
|
|
end
|
|
|
|
-- Because AddOns are loaded in alphabetical order, this callback will never see the aUF loaded message, had to do a workaround...
|
|
function Extension.OnLoad()
|
|
if not aUF then
|
|
return
|
|
end
|
|
CleveRoids.Hooks.ag_UnitFrames = { OnEnter = aUF.classes.aUFunit.prototype.OnEnter, OnLeave = aUF.classes.aUFunit.prototype.OnLeave}
|
|
aUF.classes.aUFunit.prototype.OnEnter = CleveRoids.aUFOnEnter
|
|
aUF.classes.aUFunit.prototype.OnLeave = CleveRoids.aUFOnLeave
|
|
end
|
|
|
|
-- Taken from ag_UnitClass.lua
|
|
function CleveRoids:aUFOnEnter()
|
|
Extension.OnEnter(self.unit)
|
|
self.frame.unit = self.unit
|
|
self:UpdateHighlight(true)
|
|
UnitFrame_OnEnter()
|
|
end
|
|
|
|
function CleveRoids:aUFOnLeave()
|
|
Extension.OnLeave()
|
|
self:UpdateHighlight()
|
|
UnitFrame_OnLeave()
|
|
end
|
|
|
|
|
|
EventUtil.ContinueOnAddOnLoaded("ag_UnitFrames", Extension.OnLoad)
|