local ecs = require("tiny-ecs") ecs.init = function() print("[i] loading ecs") baseEntify = ecs.processingSystem() baseEntify.filter = ecs.rejectAll('commit') baseEntify.updatethread = true function baseEntify:onAdd(obj) obj.commit = api.util.commit( api.world, obj, api ) api.world.commit = api.util.commit( api.world, false, api) end ecs.addSystem( api.world, baseEntify ) end ecs.clear = function() api.ext.exec("onClear") api.ecs.clearEntities( api.world ) api.ecs.update( api.world ) api.world.commit() end return ecs