]> git.localhorst.tv Git - orbi.git/blobdiff - src/world/World.h
switch world entities from instance to pointer
[orbi.git] / src / world / World.h
index 6369757743d66c4d9d61a2ad04d1912e861995b0..66d0d18c7b88fafe93e31346acfa30bdeb54eed8 100644 (file)
@@ -1,8 +1,6 @@
 #ifndef ORBI_WORLD_H_
 #define ORBI_WORLD_H_
 
-#include "AABB.h"
-#include "Entity.h"
 #include "Tile.h"
 #include "../graphics/Vector.h"
 
@@ -12,6 +10,8 @@
 
 namespace orbi {
 
+class Entity;
+
 class World {
 
 public:
@@ -32,8 +32,8 @@ public:
        const Tile &TileAt(Vector<int> pos) const { return tiles[Index(pos)]; }
        void SetTile(Vector<int> pos, const Tile &t) { tiles[Index(pos)] = t; }
 
-       const std::list<Entity> &Entities() const { return entities; }
-       Entity &AddEntity(const Entity &);
+       const std::list<Entity *> &Entities() const { return entities; }
+       void AddEntity(Entity &e) { entities.push_back(&e); }
 
 private:
        void BoundsCollision(Entity &, float dt);
@@ -50,9 +50,7 @@ private:
 
        std::vector<Tile> tiles;
 
-       std::list<Entity> entities;
-
-       mutable AABB tileShape;
+       std::list<Entity *> entities;
 
 };