local yaml = require("utils/yaml") local loader = {} loader.__index = loader local loaderLog = log:child("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 loaderLog:error("Unable to load file: %s/index.yml", path_or_file) 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 loaderLog:error("Error! Cannot find file: %s/%s.yml", path_or_file,v.name) else local category = yaml.parse(link) c.index.categories[i].questions = category.questions c.index.categories[i].global = category.global or {} c.index.categories[i].cosmetics = category.cosmetics or {} end end return c end function loader:getCategories() return self.index.categories end function loader:getSettings() return self.index.settings end return loader