Rework data structure
This commit is contained in:
38
Cyka.lua
38
Cyka.lua
@@ -1,20 +1,30 @@
|
||||
local addonname, data = ...
|
||||
---@cast data CykaData
|
||||
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()
|
||||
---@class CykaData
|
||||
if not CykaPersistentData then CykaPersistentData = {} end
|
||||
if not CykaPersistentData.config then CykaPersistentData.config = {} end
|
||||
|
||||
---@class CykaData
|
||||
---@field config CykaConfig
|
||||
---@field GetOrDefault fun(table: table<any, any>, keys: string[], default: any): any
|
||||
|
||||
--- Config ---
|
||||
---@class CykaConfig
|
||||
|
||||
data.GetOrDefault = function(table, keys, default)
|
||||
shared.GetOrDefault = function(table, keys, default)
|
||||
local value = default
|
||||
if not table then return value end
|
||||
if not keys then return value end
|
||||
@@ -35,7 +45,11 @@ local function init()
|
||||
return value
|
||||
end
|
||||
|
||||
data.config = {}
|
||||
shared.config = {
|
||||
autoloot = {
|
||||
enabled = shared.GetOrDefault(CykaPersistentData.config, { "autoloot", "enabled" }, true),
|
||||
}
|
||||
}
|
||||
|
||||
print("Cyka loaded!")
|
||||
end
|
||||
|
Reference in New Issue
Block a user