Files
wow_cyka/Cyka.lua
2024-12-16 13:05:04 +01:00

64 lines
1.5 KiB
Lua

local addonname, shared = ...
---@cast shared CykaShared
---@cast addonname string
---@class CykaPersistentData
---@field config CykaConfig
---@field data CykaData
---@class CykaShared
---@field config CykaConfig
---@field data CykaData
---@field GetOrDefault fun(table: table<any, any>, keys: string[], default: any): any
---@field Autoloot Autoloot
---@class CykaData
---@class CykaConfig
---@field autoloot CykaAutolootConfig
---@class CykaAutolootConfig
---@field enabled boolean
local function init()
if not CykaPersistentData then CykaPersistentData = {} end
if not CykaPersistentData.config then CykaPersistentData.config = {} end
shared.GetOrDefault = function(table, keys, default)
local value = default
if not table then return value end
if not keys then return value end
local traverse = table
for i = 1, #keys do
local key = keys[i]
if traverse[key] ~= nil then
traverse = traverse[key]
else
break
end
if i == #keys then
value = traverse
end
end
return value
end
shared.config = {
autoloot = {
enabled = shared.GetOrDefault(CykaPersistentData.config, { "autoloot", "enabled" }, true),
}
}
print("Cyka loaded!")
end
local loadedFrame = CreateFrame("Frame")
loadedFrame:RegisterEvent("ADDON_LOADED")
loadedFrame:SetScript("OnEvent", function(self, event, addonName)
if addonName == addonname then
init()
end
end)