diff --git a/spec/tiny_spec.lua b/spec/tiny_spec.lua index 59f4ebe..1d91891 100644 --- a/spec/tiny_spec.lua +++ b/spec/tiny_spec.lua @@ -151,7 +151,20 @@ describe('tiny-ecs:', function() assert.equals(timePassed, 1) assert.are_not.equal(entity1.xform.x, entityTemplate1.xform.x) end) - + + it("Clear Entities", function() + world:clearEntities() + world:update(1) + assert.equals(0, world.getEntityCount()) + end) + + it("Clear Systems", function() + world:clearSystems() + world:update(1) + assert.equals(0, world.getSystemCount()) + end) + + end) end) diff --git a/tiny.lua b/tiny.lua index 4e70cf1..7049121 100644 --- a/tiny.lua +++ b/tiny.lua @@ -382,6 +382,18 @@ function tiny.clearSystems(world) world.systemsToRemove = newSystemsToRemove end +--- Gets count of Entities in World. +-- @param world +function tiny.getEntityCount(world) + return world.entityCount +end + +--- Gets count of Systems in World. +-- @param world +function tiny.getSystemsCount(world) + return world.systemCount +end + --- Sets if a System is active in a world. If the system is active, it will -- update automatically when World:update(dt) is called. Otherwise, the user -- must call World:updateSystem(system, dt) to update the unactivated system.