+
+Entity *Universe::AddEntity(const Entity &e) {
+ entities.emplace_back(e);
+ return &entities.back();
+}
+
+
+void Universe::Update(float delta) {
+ for (Entity &e : entities) {
+ e.Update(delta);
+ while (e.pos.x > areaSize.x) {
+ e.pos.x -= areaSize.x;
+ ++e.area.x;
+ }
+ while (e.pos.x < 0) {
+ e.pos.x += areaSize.x;
+ --e.area.x;
+ }
+ while (e.pos.y > areaSize.y) {
+ e.pos.y -= areaSize.y;
+ ++e.area.y;
+ }
+ while (e.pos.y < 0) {
+ e.pos.y += areaSize.y;
+ --e.area.y;
+ }
+ }
+}
+