-update README code example (to one that compile)

-remove Entity.instance and gEM, global manager is now gEntityManager
This commit is contained in:
Mergul 2021-03-02 19:44:18 +01:00
parent d1c48e4c5f
commit 3b954b732b
11 changed files with 617 additions and 604 deletions

View file

@ -45,23 +45,23 @@ unittest
void onCreate()
{
tmpl = gEM.allocateTemplate([becsID!CInt, becsID!CLong].staticArray);
tmpl = gEntityManager.allocateTemplate([becsID!CInt, becsID!CLong].staticArray);
}
void onDestroy()
{
gEM.freeTemplate(tmpl);
gEntityManager.freeTemplate(tmpl);
}
void handleEvent(Entity* entity, Event1 event)
{
gEM.removeEntity(event.id);
gEM.sendEvent(entity.id,Event2());
gEntityManager.removeEntity(event.id);
gEntityManager.sendEvent(entity.id,Event2());
}
void handleEvent(Entity* entity, Event2 event)
{
id = gEM.addEntity(tmpl).id;
id = gEntityManager.addEntity(tmpl).id;
}
}
@ -94,49 +94,49 @@ unittest
///remove every entity
void onUpdate(EntitiesData data)
{
foreach(i;0..data.length)gEM.removeEntity(data.entity[i].id);
foreach(i;0..data.length)gEntityManager.removeEntity(data.entity[i].id);
}
}
gEM.initialize(0);
gEntityManager.initialize(0);
gEM.beginRegister();
gEntityManager.beginRegister();
gEM.registerComponent!CInt;
gEM.registerComponent!CFloat;
gEM.registerComponent!CDouble;
gEM.registerComponent!CLong;
gEM.registerComponent!CShort;
gEM.registerComponent!CFlag;
gEntityManager.registerComponent!CInt;
gEntityManager.registerComponent!CFloat;
gEntityManager.registerComponent!CDouble;
gEntityManager.registerComponent!CLong;
gEntityManager.registerComponent!CShort;
gEntityManager.registerComponent!CFlag;
gEM.registerEvent!Event1;
gEM.registerEvent!Event2;
gEntityManager.registerEvent!Event1;
gEntityManager.registerEvent!Event2;
gEM.registerSystem!System1(0);
gEM.registerSystem!System2(-200);
gEM.registerSystem!System3(-200);
gEntityManager.registerSystem!System1(0);
gEntityManager.registerSystem!System2(-200);
gEntityManager.registerSystem!System3(-200);
gEM.endRegister();
gEntityManager.endRegister();
EntityTemplate* tmpl = gEM.allocateTemplate([becsID!CInt, becsID!CLong].staticArray);
EntityID id = gEM.addEntity(tmpl,[CLong(10).ref_, CInt(6).ref_].staticArray).id;
EntityID id2 = gEM.addEntity(tmpl,[CInt(4).ref_].staticArray).id;
gEM.freeTemplate(tmpl);
gEM.commit();
EntityTemplate* tmpl = gEntityManager.allocateTemplate([becsID!CInt, becsID!CLong].staticArray);
EntityID id = gEntityManager.addEntity(tmpl,[CLong(10).ref_, CInt(6).ref_].staticArray).id;
EntityID id2 = gEntityManager.addEntity(tmpl,[CInt(4).ref_].staticArray).id;
gEntityManager.freeTemplate(tmpl);
gEntityManager.commit();
gEM.sendEvent(id2, Event1(id));
gEntityManager.sendEvent(id2, Event1(id));
gEM.getSystem(becsID!System2).disable();
gEntityManager.getSystem(becsID!System2).disable();
gEM.begin();
gEM.update();
gEM.end();
gEntityManager.begin();
gEntityManager.update();
gEntityManager.end();
gEM.getSystem(becsID!System2).enable();
gEntityManager.getSystem(becsID!System2).enable();
gEM.begin();
gEM.update();
gEM.end();
gEntityManager.begin();
gEntityManager.update();
gEntityManager.end();
gEM.destroy();
gEntityManager.destroy();
}