diff --git a/core.lua b/core.lua deleted file mode 100644 index c88872c..0000000 --- a/core.lua +++ /dev/null @@ -1,285 +0,0 @@ ------------------------------------------------------------- --- pfUI-DQB --- core.lua --- --- Main core and module system for pfUI-DQB. ------------------------------------------------------------- - -local addonName = "pfUI-DQB" - - ------------------------------------------------------------- --- pfUI-DQB requires pfUI ------------------------------------------------------------- - -if not pfUI then - return -end - - ------------------------------------------------------------- --- Main namespace ------------------------------------------------------------- - -pfUI.dqb = pfUI.dqb or {} - -local DQB = pfUI.dqb - - ------------------------------------------------------------- --- Basic information ------------------------------------------------------------- - -DQB.name = addonName -DQB.version = "0.1.1" - -DQB.config = DQB.config or {} -DQB.modules = DQB.modules or {} - - ------------------------------------------------------------- --- Module system ------------------------------------------------------------- - -function DQB:RegisterModule(name, func) - - if not name or not func then - return - end - - self.modules[name] = func -end - - ------------------------------------------------------------- --- Configuration helpers ------------------------------------------------------------- - -function DQB:GetGlobalConfig(key, default) - - if not pfUI_config - or not pfUI_config.global - or pfUI_config.global[key] == nil then - - return default - end - - return pfUI_config.global[key] -end - - -function DQB:GetConfig(module, key, default) - - if not pfUI_config - or not pfUI_config.dqb - or not pfUI_config.dqb[module] - or pfUI_config.dqb[module][key] == nil then - - return default - end - - return pfUI_config.dqb[module][key] -end - - -function DQB:SetConfig(module, key, value) - - if not pfUI_config then - pfUI_config = {} - end - - if not pfUI_config.dqb then - pfUI_config.dqb = {} - end - - if not pfUI_config.dqb[module] then - pfUI_config.dqb[module] = {} - end - - pfUI_config.dqb[module][key] = value -end - - ------------------------------------------------------------- --- Enable / Disable ------------------------------------------------------------- - -function DQB:IsEnabled() - - return self:GetConfig( - "general", - "enable", - "1" - ) == "1" - -end - - -function DQB:SetEnabled(enabled) - - if enabled then - - self:SetConfig( - "general", - "enable", - "1" - ) - - else - - self:SetConfig( - "general", - "enable", - "0" - ) - - end - -end - - ------------------------------------------------------------- --- Debug ------------------------------------------------------------- - -function DQB:Debug(message) - - if DEFAULT_CHAT_FRAME then - - DEFAULT_CHAT_FRAME:AddMessage( - "|cff33ffccpf|cffffffffUI-DQB|r: " - .. tostring(message) - ) - - end - -end - - ------------------------------------------------------------- --- Initialize modules ------------------------------------------------------------- - -function DQB:Initialize() - - self:Debug( - "initialized v" .. tostring(self.version) - ) - - - self:Debug( - "status: " - .. (self:IsEnabled() and "enabled" or "disabled") - ) - - - -------------------------------------------------------- - -- Do not initialize modules when DQB is disabled - -------------------------------------------------------- - - if not self:IsEnabled() then - return - end - - - -------------------------------------------------------- - -- Load registered modules - -------------------------------------------------------- - - for name, module in pairs(self.modules) do - - if module then - - local success, errorMessage = pcall(module) - - if not success then - - self:Debug( - "module '" .. - tostring(name) .. - "' failed: " .. - tostring(errorMessage) - ) - - else - - self:Debug( - "module '" .. - tostring(name) .. - "' loaded" - ) - - end - - end - - end - -end - - ------------------------------------------------------------- --- Initialize after SavedVariables are available ------------------------------------------------------------- - -local loader = CreateFrame("Frame") - -loader:RegisterEvent("VARIABLES_LOADED") - - -loader:SetScript("OnEvent", function() - - -------------------------------------------------------- - -- Make sure this is our expected event - -------------------------------------------------------- - - if event ~= "VARIABLES_LOADED" then - return - end - - - -------------------------------------------------------- - -- pfUI must exist - -------------------------------------------------------- - - if not pfUI then - return - end - - - -------------------------------------------------------- - -- Initialize configuration - -------------------------------------------------------- - - if DQB.InitializeConfig then - - DQB:InitializeConfig() - - end - - - -------------------------------------------------------- - -- Initialize GUI - -------------------------------------------------------- - - if DQB.InitializeGUI then - - DQB:InitializeGUI() - - end - - - -------------------------------------------------------- - -- Initialize DQB modules - -------------------------------------------------------- - - DQB:Initialize() - - - -------------------------------------------------------- - -- Only execute once - -------------------------------------------------------- - - this:UnregisterAllEvents() - -end)