2011-05-30 13:01:19 -04:00
|
|
|
local core = LibStub("AceAddon-3.0"):NewAddon("AllTheLittleThings", "AceConsole-3.0", "AceEvent-3.0", "AceHook-3.0", "AceTimer-3.0")
|
|
|
|
atlt = core
|
|
|
|
|
|
|
|
local defaults = {
|
|
|
|
profile = {
|
|
|
|
|
|
|
|
},
|
|
|
|
}
|
|
|
|
local options_setter = function(info, v) local t=core.db.profile for k=1,#info-1 do t=t[info[k]] end t[info[#info]]=v core:UpdatePins(true) end
|
|
|
|
local options_getter = function(info) local t=core.db.profile for k=1,#info-1 do t=t[info[k]] end return t[info[#info]] end
|
|
|
|
local options = {
|
|
|
|
name = "AllTheLittleThings",
|
|
|
|
type = 'group',
|
|
|
|
set = options_setter,
|
|
|
|
get = options_getter,
|
|
|
|
args = {
|
|
|
|
|
|
|
|
},
|
|
|
|
}
|
2011-05-30 14:57:41 -04:00
|
|
|
local slashCallback = {}
|
2011-05-30 13:01:19 -04:00
|
|
|
|
|
|
|
function core:OnInitialize()
|
|
|
|
self.db = LibStub("AceDB-3.0"):New("AllTheLittleThingsDB", defaults, "Default")
|
2011-05-30 14:57:41 -04:00
|
|
|
self:RegisterChatCommand("atlt", "MainSlashHandle")
|
2011-05-30 13:01:19 -04:00
|
|
|
|
|
|
|
-- LibStub("AceConfigRegistry-3.0"):RegisterOptionsTable("AllTheLittleThings", options)
|
|
|
|
-- local ACD = LibStub("AceConfigDialog-3.0")
|
|
|
|
-- ACD:AddToBlizOptions("AllTheLittleThings", "AllTheLittleThings")
|
|
|
|
|
|
|
|
self:SetDefaultModulePrototype({
|
2011-05-30 14:57:41 -04:00
|
|
|
RegisterOptions = core.RegisterOptions,
|
|
|
|
RegisterSlashCommand = core.RegisterSlashCommand,
|
2011-05-30 13:01:19 -04:00
|
|
|
})
|
|
|
|
end
|
|
|
|
|
|
|
|
function core:OnEnable()
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
function core:OnDisable()
|
|
|
|
|
|
|
|
end
|
|
|
|
|
2011-05-30 14:57:41 -04:00
|
|
|
-- two registry functions called with self=mod
|
|
|
|
function core:RegisterOptions(options, defaults)
|
|
|
|
local name = self:GetName()
|
2011-05-30 13:01:19 -04:00
|
|
|
defaults.profile[name] = defaults
|
|
|
|
options.args[name] = {
|
|
|
|
name = name,
|
|
|
|
type = 'group',
|
|
|
|
args = options
|
|
|
|
}
|
|
|
|
end
|
|
|
|
|
2011-05-30 14:57:41 -04:00
|
|
|
function core:RegisterSlashCommand(callback, ...)
|
|
|
|
for i=1,select('#', ...) do
|
|
|
|
slashCallback[select('i', ...)] = self[callback]
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
function core:MainSlashHandle(msg)
|
|
|
|
local _, e, command = string.find("(%S+)", msg)
|
|
|
|
msg = string.sub(msg, e+1)
|
|
|
|
|
|
|
|
if command and slashCallback[command] then
|
|
|
|
slashCallback[command](msg)
|
|
|
|
else
|
|
|
|
-- print all commands
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|