feat: ajout support des mixins

This commit is contained in:
Kazhnuz 2024-08-02 10:03:52 +02:00
parent 8006a7789b
commit 3001301a31

View file

@ -12,7 +12,30 @@ function BeastFile:new(folder, name)
end
function BeastFile:readLines()
local lines = parseFile(self.filepath, function (line) self.datas:addLine(line) end)
self:readAllLines(self.filepath)
end
function BeastFile:readAllLines(path)
parseFile(path, function (line) self:addLine(line) end)
end
function BeastFile:addLine(line)
if (utils.startswith(line, "mixin;") or utils.startswith(line, "mixins;")) then
local mixin = utils.split(line, ";", true)[2]
self:loadMixin(mixin)
elseif (utils.startswith(line, "type;") or utils.startswith(line, "types;")) then
local mixin = utils.split(line, ";", true)[2]
self:loadMixin("types/" .. mixin)
else
self.datas:addLine(line)
end
end
function BeastFile:loadMixin(mixin)
local testpath = "data/" .. utils.trim(mixin) .. ".beast"
if (testpath ~= nil) then
self:readAllLines(testpath)
end
end
function BeastFile:prepareJson()