74 lines
1.5 KiB
Lua
74 lines
1.5 KiB
Lua
|
-- @docclass
|
||
|
|
||
|
local function convertSettingValue(value)
|
||
|
if type(value) == 'table' then
|
||
|
if value.x and value.width then
|
||
|
return recttostring(value)
|
||
|
elseif value.x then
|
||
|
return pointtostring(value)
|
||
|
elseif value.width then
|
||
|
return sizetostring(value)
|
||
|
elseif value.r then
|
||
|
return colortostring(value)
|
||
|
else
|
||
|
return value
|
||
|
end
|
||
|
elseif value == nil then
|
||
|
return ''
|
||
|
else
|
||
|
return tostring(value)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function Config:set(key, value)
|
||
|
self:setValue(key, convertSettingValue(value))
|
||
|
end
|
||
|
|
||
|
function Config:setDefault(key, value)
|
||
|
if self:exists(key) then return false end
|
||
|
self:set(key, value)
|
||
|
return true
|
||
|
end
|
||
|
|
||
|
function Config:get(key, default)
|
||
|
if not self:exists(key) and default ~= nil then
|
||
|
self:set(key, default)
|
||
|
end
|
||
|
return self:getValue(key)
|
||
|
end
|
||
|
|
||
|
function Config:getString(key, default)
|
||
|
return self:get(key, default)
|
||
|
end
|
||
|
|
||
|
function Config:getInteger(key, default)
|
||
|
local v = tonumber(self:get(key, default)) or 0
|
||
|
return v
|
||
|
end
|
||
|
|
||
|
function Config:getNumber(key, default)
|
||
|
local v = tonumber(self:get(key, default)) or 0
|
||
|
return v
|
||
|
end
|
||
|
|
||
|
function Config:getBoolean(key, default)
|
||
|
return toboolean(self:get(key, default))
|
||
|
end
|
||
|
|
||
|
function Config:getPoint(key, default)
|
||
|
return topoint(self:get(key, default))
|
||
|
end
|
||
|
|
||
|
function Config:getRect(key, default)
|
||
|
return torect(self:get(key, default))
|
||
|
end
|
||
|
|
||
|
function Config:getSize(key, default)
|
||
|
return tosize(self:get(key, default))
|
||
|
end
|
||
|
|
||
|
function Config:getColor(key, default)
|
||
|
return tocolor(self:get(key, default))
|
||
|
end
|
||
|
|