mckenziemc@17: -- frontend.lua mckenziemc@17: -- Implements the frontend of DependenyLoader mckenziemc@0: mckenziemc@14: mckenziemc@0: local addonName, addonTable = ... mckenziemc@0: mckenziemc@0: mckenziemc@17: local print = addonTable.print mckenziemc@17: local debug = addonTable.debug mckenziemc@0: mckenziemc@17: local Core = addonTable.classes.Core mckenziemc@10: mckenziemc@15: mckenziemc@17: local frontend = LibStub("AceAddon-3.0"):NewAddon(addonName, "AceEvent-3.0") mckenziemc@17: addonTable.frontend = frontend mckenziemc@17: _G[addonName] = frontend mckenziemc@10: mckenziemc@17: frontend.addonTable = addonTable mckenziemc@10: mckenziemc@0: mckenziemc@17: function frontend:OnInitialize() mckenziemc@17: debug("Initializing", addonName) mckenziemc@0: self:Enable() mckenziemc@0: end mckenziemc@0: mckenziemc@0: mckenziemc@17: function frontend:OnEnable() mckenziemc@15: -- this may get called early so don't rely on mckenziemc@15: -- it as an indicator for PLAYER_LOGIN mckenziemc@15: mckenziemc@17: if not IsLoggedIn() then mckenziemc@17: self:RegisterEvent("PLAYER_LOGIN") mckenziemc@17: end mckenziemc@15: mckenziemc@17: Core:SetHooks() mckenziemc@17: Core:PrepareAllAddons() mckenziemc@12: mckenziemc@17: print("Enabled", addonName) mckenziemc@0: end mckenziemc@0: mckenziemc@10: mckenziemc@17: function frontend:OnDisable() mckenziemc@17: Core:UnhookAll() mckenziemc@15: mckenziemc@17: print("Disabled", addonName) mckenziemc@15: end mckenziemc@15: mckenziemc@17: function frontend:PLAYER_LOGIN(...) mckenziemc@17: Core:ProcessEnableQueue() mckenziemc@0: end mckenziemc@0: