You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
965 B

local _, addon = ...
local IsAddOnLoaded = C_AddOns and C_AddOns.IsAddOnLoaded or IsAddOnLoaded
local addonCallbacks = {}
--[[ namespace:HookAddOn(_addonName_, _callback_)
Registers a hook for when an addon with the name `addonName` loads with a `callback` function.
--]]
function addon:HookAddOn(addonName, callback)
if IsAddOnLoaded(addonName) then
callback(self)
else
table.insert(addonCallbacks, {
addonName = addonName,
callback = callback,
})
end
end
function addon:ADDON_LOADED(addonName)
for _, info in next, addonCallbacks do
if info.addonName == addonName then
info.callback()
end
end
end
function addon:PLAYER_LOGIN()
--[[ namespace:OnLogin()
Shorthand for the [`PLAYER_LOGIN`](https://warcraft.wiki.gg/wiki/PLAYER_LOGIN).
Usage:
```lua
function namespace:OnLogin()
-- player has logged in!
end
```
--]]
if addon.OnLogin then
addon:OnLogin()
end
return true
end