First commit
This commit is contained in:
		@@ -0,0 +1,73 @@
 | 
			
		||||
-- @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
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user