Fixed entities not being added to pools in some scenarios

This commit is contained in:
Justin van der Leij 2018-04-20 10:52:40 +02:00
parent af16e5a2d9
commit 6caf99afb4
3 changed files with 8 additions and 5 deletions

View file

@ -1,4 +1,4 @@
local Concord = require("concord").init({ local Concord = require("init").init({
useEvents = true useEvents = true
}) })
local Entity = Concord.entity local Entity = Concord.entity

View file

@ -118,6 +118,13 @@ function Instance:addSystem(system, eventName, callback, enabled)
} }
end end
local e
for i = 1, self.entities.size do
e = self.entities:get(i)
self:checkEntity(e)
end
return self return self
end end

View file

@ -79,14 +79,10 @@ function System:__check(e)
pool:add(e) pool:add(e)
self:entityAddedTo(e, pool) self:entityAddedTo(e, pool)
self:__tryAdd(e) self:__tryAdd(e)
return true
elseif poolHas and not eligible then elseif poolHas and not eligible then
pool:remove(e) pool:remove(e)
self:entityRemovedFrom(e, pool) self:entityRemovedFrom(e, pool)
self:__tryRemove(e) self:__tryRemove(e)
return false
end end
end end
end end