Initial commit
This commit is contained in:
49
Cyka.lua
Normal file
49
Cyka.lua
Normal file
@@ -0,0 +1,49 @@
|
||||
local addonname, data = ...
|
||||
---@cast data CykaData
|
||||
---@cast addonname string
|
||||
|
||||
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)
|
||||
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
|
||||
|
||||
data.config = {}
|
||||
|
||||
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)
|
Reference in New Issue
Block a user