11 Universe::Universe(Vector<int> size, Vector<int> secSize, Vector<int> areaSize, int numres)
16 , total(size.x * size.y)
17 , sec_begin(reinterpret_cast<Sector *>(new char[total * sizeof(Sector)]))
18 , sec_end(sec_begin + total) {
19 for (Sector *i = sec_begin; i < sec_end; ++i) {
20 new (i) Sector(secSize, numres);
24 Universe::~Universe() {
25 delete[] reinterpret_cast<char *>(sec_begin);
29 Entity *Universe::AddEntity(const Entity &e) {
30 entities.emplace_back(e);
31 return &entities.back();
35 void Universe::Update(float delta) {
36 for (Entity &e : entities) {
38 while (e.pos.x > areaSize.x) {
39 e.pos.x -= areaSize.x;
43 e.pos.x += areaSize.x;
46 while (e.pos.y > areaSize.y) {
47 e.pos.y -= areaSize.y;
51 e.pos.y += areaSize.y;