-some usefull functions for IDManager

-added EntityManager.removeEntity(EntityID)
-EntitiesBlock now has ID usefull for updating first_free_block in EntityInfo
This commit is contained in:
Mergul 2018-09-12 17:38:41 +02:00
parent ae53e13d42
commit d3222eefbb
4 changed files with 109 additions and 25 deletions

View file

@ -135,7 +135,33 @@ int main()
time = MonoTime.currTime;
foreach(i; 0..1_000_000)gEM.addEntity(tmpl);
//foreach(i; 0..1_000_000)gEM.addEntity(tmpl);
//foreach(i; 0..1_000_000)gEM.removeEntity(gEM.addEntity(tmpl).id);
EntityID[1000] idss;
foreach(i; 0..1_000)
{
foreach(j; 0..1_000)idss[j] = gEM.addEntity(tmpl).id;
foreach(j; 0..1_000)gEM.removeEntity(idss[j]);
}
uint blocks = 0;
foreach(info; &gEM.entities_infos.byValue)
{
EntityManager.EntitiesBlock* block = info.first_block;
while(block !is null)
{
block = block.next_block;
blocks++;
}
}
writeln("Entities blocks: ",blocks);
/*Entity entity = gEM.addEntity(tmpl);
gEM.removeEntity(entity.id);
gEM.addEntity(tmpl);*/
dur = (MonoTime.currTime - time).total!"usecs";
writeln("Entities adding: ",dur," usecs");