]> git.localhorst.tv Git - orbi.git/blobdiff - src/world/World.h
don't reset speed if heading away from a surface
[orbi.git] / src / world / World.h
index d77b15b3d55db40ed96822a852e32d7cae273438..6369757743d66c4d9d61a2ad04d1912e861995b0 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef ORBI_WORLD_H_
 #define ORBI_WORLD_H_
 
+#include "AABB.h"
 #include "Entity.h"
 #include "Tile.h"
 #include "../graphics/Vector.h"
@@ -18,6 +19,7 @@ public:
 
 public:
        Vector<int> Size() const { return size; }
+       Vector<int> TileSize() const { return Vector<int>(1, 1); }
 
 public:
        void Update(float dt);
@@ -33,17 +35,25 @@ public:
        const std::list<Entity> &Entities() const { return entities; }
        Entity &AddEntity(const Entity &);
 
+private:
+       void BoundsCollision(Entity &, float dt);
+       void TileCollision(Entity &, float dt);
+       void EntityCollision();
+
 private:
        Vector<int> size;
        int count;
 
        Vector<float> gravity;
        Vector<float> terminal;
+       float fixSpeed;
 
        std::vector<Tile> tiles;
 
        std::list<Entity> entities;
 
+       mutable AABB tileShape;
+
 };
 
 }