-OmaRF = LibStub("AceAddon-3.0"):NewAddon("OmaRF");
+OmaRF = CreateFrame("Frame");
OmaRF.normalBarColor = CreateColor(0.3, 0.3, 0.3);
OmaRF.dispelBarColor = CreateColor(1, 0.5, 0);
OmaRF.running = false;
+OmaRF.ooc_queue = {};
+
local defaults = {
profile = {
enabled = true,
end
end
+local function onEvent(self, event, ...)
+ if event == "PLAYER_REGEN_ENABLED" then
+ for _, t in pairs(self.ooc_queue) do
+ t.func(t.args);
+ end
+ if next(self.ooc_queue) ~= nil then
+ wipe(self.ooc_queue);
+ end
+ elseif event == "PLAYER_LOGIN" then
+ self:OnEnable();
+ elseif event == "ADDON_LOADED" then
+ self:OnInitialize();
+ end
+end
+
SLASH_OMARF1 = "/omarf";
function SlashCmdList.OMARF(msg, editBox)
local loaded, finished = IsAddOnLoaded("OmaRFConfig");
InterfaceOptionsFrame_OpenToCategory(OmaRF.optionsFrames.Profile);
InterfaceOptionsFrame_OpenToCategory(OmaRF.optionsFrames.Indicators);
end
+
+OmaRF:RegisterEvent("ADDON_LOADED");
+OmaRF:RegisterEvent("PLAYER_LOGIN");
+OmaRF:RegisterEvent("PLAYER_REGEN_ENABLED");
+OmaRF:SetScript("OnEvent", onEvent);