2024-08-07 16:45:56 +00:00
|
|
|
local reserved = 0
|
|
|
|
|
|
|
|
local function reserve()
|
2024-10-12 20:18:11 +00:00
|
|
|
reserved += 1
|
|
|
|
return reserved
|
2024-08-07 16:45:56 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
-- If you don't like passing around a world singleton
|
|
|
|
-- and you need to register component IDs, just register them.
|
|
|
|
-- I dont use this because I like adding component traits
|
|
|
|
--[[
|
|
|
|
local components = {
|
|
|
|
Model = registry.reserve(),
|
|
|
|
Transform = registry.reserve(),
|
|
|
|
}
|
|
|
|
|
|
|
|
local world = registry.register(jecs.World.new())
|
|
|
|
local e = world:entity()
|
|
|
|
world:set(e, components.Transform, CFrame)
|
|
|
|
]]
|
|
|
|
local function register(world)
|
2024-10-12 20:18:11 +00:00
|
|
|
for _ = 1, reserved do
|
|
|
|
world:component()
|
|
|
|
end
|
|
|
|
return world
|
2024-08-07 16:45:56 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
return {
|
2024-10-12 20:18:11 +00:00
|
|
|
reserve = reserve,
|
|
|
|
register = register,
|
2024-08-07 16:45:56 +00:00
|
|
|
}
|