-added pure annotation for some functions
-addEntity now returns pointer instead of reference (it's has more sense) -added function addEntityCopy(EntityID) which adds copy of entity with it's whole data
This commit is contained in:
parent
8318d2efb4
commit
1be08eb534
2 changed files with 94 additions and 55 deletions
|
|
@ -526,13 +526,13 @@ int main()
|
|||
dur = (MonoTime.currTime - time).total!"usecs";
|
||||
writeln("Template allocating: ", dur, " usecs");
|
||||
|
||||
Entity entity;
|
||||
EntityID entity;
|
||||
|
||||
{
|
||||
entity = gEM.addEntity(tmpl);
|
||||
writeEntityComponents(gEM.getEntity(entity.id));
|
||||
entity = gEM.addEntity(tmpl).id;
|
||||
writeEntityComponents(gEM.getEntity(entity));
|
||||
EntityManager.EntitiesBlock* block = EntityManager.instance.getMetaData(
|
||||
gEM.getEntity(entity.id));
|
||||
gEM.getEntity(entity));
|
||||
EntityManager.EntityInfo* info = block.type_info;
|
||||
writeln(info.add_listeners);
|
||||
//if(info)assert(0);
|
||||
|
|
@ -586,15 +586,15 @@ int main()
|
|||
//assert(*(cast(EntityID*)(cast(void*)tmpl.info.first_block+24)) == EntityID(1,1));
|
||||
//assert(*(cast(EntityID*)(cast(void*)tmpl.info.first_block+48)) == EntityID(1,1));
|
||||
|
||||
Entity entity2;
|
||||
EntityID entity2;
|
||||
|
||||
time = MonoTime.currTime;
|
||||
|
||||
EntityID[] entities = Mallocator.instance.makeArray!EntityID(1_000_000);
|
||||
foreach (i; 0 .. 500_000)
|
||||
{
|
||||
entity2 = gEM.addEntity(tmpl);
|
||||
entities[i*2] = entity2.id;
|
||||
entity2 = gEM.addEntity(tmpl).id;
|
||||
entities[i*2] = entity2;
|
||||
entities[i*2+1] = gEM.addEntity(tmpl2).id;
|
||||
}
|
||||
|
||||
|
|
@ -638,7 +638,7 @@ int main()
|
|||
dur = (MonoTime.currTime - time).total!"usecs";
|
||||
writeln("Update: ", dur, " usecs");
|
||||
|
||||
writeEntityComponents(gEM.getEntity(entity2.id));
|
||||
writeEntityComponents(gEM.getEntity(entity2));
|
||||
|
||||
time = MonoTime.currTime;
|
||||
|
||||
|
|
@ -650,7 +650,7 @@ int main()
|
|||
dur = (MonoTime.currTime - time).total!"usecs";
|
||||
writeln("Update: ", dur, " usecs");
|
||||
|
||||
writeEntityComponents(gEM.getEntity(entity2.id));
|
||||
writeEntityComponents(gEM.getEntity(entity2));
|
||||
|
||||
time = MonoTime.currTime;
|
||||
|
||||
|
|
@ -662,9 +662,9 @@ int main()
|
|||
dur = (MonoTime.currTime - time).total!"usecs";
|
||||
writeln("Update: ", dur, " usecs");
|
||||
|
||||
writeEntityComponents(gEM.getEntity(entity2.id));
|
||||
writeEntityComponents(gEM.getEntity(entity2));
|
||||
|
||||
entity = gEM.addEntity(tmpl);
|
||||
entity = gEM.addEntity(tmpl).id;
|
||||
|
||||
gEM.begin();
|
||||
gEM.update();
|
||||
|
|
@ -672,40 +672,39 @@ int main()
|
|||
|
||||
//Entity* pp;// = gEM.getEntity(entity.id);
|
||||
//writeln((cast(uint*) pp)[0 .. 14], " ", pp);
|
||||
writeEntityComponents(gEM.getEntity(entity.id));
|
||||
writeEntityComponents(gEM.getEntity(entity));
|
||||
|
||||
gEM.addEntity(tmpl);
|
||||
gEM.addEntityCopy(entity);
|
||||
|
||||
gEM.addComponents(entity.id, TestComp4());
|
||||
gEM.addComponents(entity.id, TestComp3());
|
||||
gEM.addComponents(entity, TestComp4());
|
||||
gEM.addComponents(entity, TestComp3());
|
||||
|
||||
gEM.begin();
|
||||
gEM.update();
|
||||
gEM.end();
|
||||
|
||||
writeEntityComponents(gEM.getEntity(entity.id));
|
||||
writeEntityComponents(gEM.getEntity(entity));
|
||||
|
||||
gEM.removeComponents!(TestComp)(entity.id);
|
||||
gEM.addComponents(entity.id, TestComp());
|
||||
gEM.addComponents(entity.id, TestComp5());
|
||||
gEM.removeComponents!(TestComp)(entity);
|
||||
gEM.addComponents(entity, TestComp());
|
||||
gEM.addComponents(entity, TestComp5());
|
||||
|
||||
gEM.begin();
|
||||
gEM.update();
|
||||
gEM.update("fixed");
|
||||
gEM.end();
|
||||
|
||||
gEM.removeComponents!(TestComp4)(entity.id);
|
||||
gEM.removeComponents!(TestComp4)(entity);
|
||||
|
||||
gEM.commit();//*/
|
||||
|
||||
writeEntityComponents(gEM.getEntity(entity.id));
|
||||
writeEntityComponents(gEM.getEntity(entity));
|
||||
//import std.stdio;
|
||||
//writeln((cast(uint*)tmpl.info.first_block)[0..48]);
|
||||
gEM.freeTemplate(tmpl);
|
||||
gEM.freeTemplate(tmpl2);
|
||||
EntityManager.destroy();
|
||||
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue