diff --git a/Heimdall.lua b/Heimdall.lua index 9afde35..ba799d3 100644 --- a/Heimdall.lua +++ b/Heimdall.lua @@ -22,6 +22,7 @@ local function init() ---@field networkNodes string[] ---@field network HeimdallNetworkData ---@field networkMessenger HeimdallNetworkMessengerData + ---@field stinkyCache HeimdallStinkyCacheData ---@field _L Localization ---@field VERSION string ---@field dumpTable fun(table: any, depth?: number): nil @@ -29,6 +30,7 @@ local function init() ---@field padString fun(input: string, targetLength: number, left?: boolean): string ---@field GetOrDefault fun(table: table, keys: string[], default: any): any ---@field Split fun(input: string, deliminer: string): string[] + ---@field IsStinky fun(name: string): boolean ---@field Whoer InitTable ---@field Messenger InitTable ---@field Spotter InitTable @@ -50,6 +52,8 @@ local function init() ---@field Noter InitTable ---@field Network InitTable ---@field NetworkMessenger InitTable + ---@field StinkyCache InitTable + ---@field Configurator InitTable --- Config --- ---@class HeimdallConfig @@ -72,6 +76,8 @@ local function init() ---@field noter HeimdallNoterConfig ---@field network HeimdallNetworkConfig ---@field networkMessenger HeimdallNetworkMessengerConfig + ---@field configurator HeimdallConfiguratorConfig + ---@field stinkyCache HeimdallStinkyCacheConfig ---@field whisperNotify table ---@field addonPrefix string ---@field stinkies table @@ -232,6 +238,14 @@ local function init() ---@field debug boolean ---@field interval number + ---@class HeimdallConfiguratorConfig + ---@field enabled boolean + ---@field debug boolean + + ---@class HeimdallStinkyCacheConfig + ---@field enabled boolean + ---@field debug boolean + --- Data --- ---@class HeimdallMessengerData ---@field queue table @@ -252,6 +266,9 @@ local function init() ---@class HeimdallNetworkData ---@field ticker number? + ---@class HeimdallStinkyCacheData + ---@field stinkies table + shared.GetOrDefault = function(table, keys, default) local value = default if not table then return value end @@ -466,6 +483,14 @@ local function init() debug = shared.GetOrDefault(Heimdall_Data, { "config", "networkMessenger", "debug" }, false), interval = shared.GetOrDefault(Heimdall_Data, { "config", "networkMessenger", "interval" }, 0.01), }, + configurator = { + enabled = shared.GetOrDefault(Heimdall_Data, { "config", "configurator", "enabled" }, false), + debug = shared.GetOrDefault(Heimdall_Data, { "config", "configurator", "debug" }, false), + }, + stinkyCache = { + enabled = shared.GetOrDefault(Heimdall_Data, { "config", "stinkyCache", "enabled" }, false), + debug = shared.GetOrDefault(Heimdall_Data, { "config", "stinkyCache", "debug" }, false), + }, addonPrefix = shared.GetOrDefault(Heimdall_Data, { "config", "addonPrefix" }, "HEIMDALL"), } @@ -584,6 +609,8 @@ local function init() shared.Noter.Init() shared.Network.Init() shared.NetworkMessenger.Init() + shared.Configurator.Init() + shared.StinkyCache.Init() print("Heimdall loaded!") end diff --git a/Heimdall.toc b/Heimdall.toc index c28e19a..681f4a7 100644 --- a/Heimdall.toc +++ b/Heimdall.toc @@ -31,4 +31,6 @@ Modules/BonkDetector.lua Modules/Sniffer.lua Modules/Noter.lua Modules/NetworkMessenger.lua +Modules/StinkyCache.lua +Modules/Configurator.lua Heimdall.lua diff --git a/Modules/Configurator.lua b/Modules/Configurator.lua new file mode 100644 index 0000000..fa0a6e9 --- /dev/null +++ b/Modules/Configurator.lua @@ -0,0 +1,10 @@ +local addonname, shared = ... +---@cast shared HeimdallShared +---@cast addonname string +local ModuleName = "Configurator" + +---@diagnostic disable-next-line: missing-fields +shared.Configurator = {} +function shared.Configurator.Init() + print("[Heimdall] Configurator module loaded") +end diff --git a/Modules/StinkyCache.lua b/Modules/StinkyCache.lua new file mode 100644 index 0000000..0dfa387 --- /dev/null +++ b/Modules/StinkyCache.lua @@ -0,0 +1,10 @@ +local addonname, shared = ... +---@cast shared HeimdallShared +---@cast addonname string +local ModuleName = "StinkyCache" + +---@diagnostic disable-next-line: missing-fields +shared.StinkyCache = {} +function shared.StinkyCache.Init() + print("[Heimdall] StinkyCache module loaded") +end