Allow named assemblages

This commit is contained in:
Tjakka5 2019-12-19 20:19:02 +01:00
parent d0e227485e
commit 276a053b7f
6 changed files with 56 additions and 9 deletions

View file

@ -1,14 +1,25 @@
--- Assemblage
local PATH = (...):gsub('%.[^%.]+$', '')
local Assemblages = require(PATH..".world")
local Assemblage = {}
Assemblage.__index = Assemblage
function Assemblage.new(assemble)
function Assemblage.new(name, assemble)
if (type(name) ~= "string") then
error("bad argument #1 to 'Assemblage.new' (string expected, got "..type(name)..")", 2)
end
local assemblage = setmetatable({
__assemble = assemble,
__name = name,
__isAssemblage = true,
}, Assemblage)
Assemblages.register(name, assemblage)
return assemblage
end