34 lines
963 B
Lua
34 lines
963 B
Lua
local yaml = require("yaml")
|
|
local loader = {}
|
|
loader.__index = loader
|
|
|
|
function loader:new(path_or_file)
|
|
local c = {}
|
|
setmetatable(c, loader)
|
|
c.source = path_or_file
|
|
local file = love.filesystem.read(path_or_file .. "/index.yml")
|
|
if not file then
|
|
error("Unable to load file: ".. path_or_file .."/index.yml")
|
|
end
|
|
c.index = yaml.parse(file)
|
|
for i,v in pairs(c.index.categories) do
|
|
local link = love.filesystem.read(path_or_file .. "/" .. v.name .. ".yml")
|
|
if not link then
|
|
print("Error! Cannot find file: " .. path_or_file .."/" .. v.name .. ".yml")
|
|
else
|
|
local category = yaml.parse(link)
|
|
c.index.categories[i].questions = category.questions
|
|
end
|
|
end
|
|
return c
|
|
end
|
|
|
|
function loader:getCategories()
|
|
return self.index.categories
|
|
end
|
|
|
|
function loader:getSettings()
|
|
return self.index.settings
|
|
end
|
|
|
|
return loader |