]> git.localhorst.tv Git - blobs.git/blobdiff - src/creature/Situation.hpp
fix resource locator
[blobs.git] / src / creature / Situation.hpp
index 4dbb1c694d96b8ea5d534b353ec9c6e5f9a8e2a2..a60aeb7aa27ee55595210ef8cf0924ebdd6fc319 100644 (file)
@@ -1,12 +1,14 @@
 #ifndef BLOBS_CREATURE_SITUATION_HPP_
 #define BLOBS_CREATURE_SITUATION_HPP_
 
-#include "../graphics/glm.hpp"
+#include "../math/glm.hpp"
 
 
 namespace blobs {
 namespace world {
        class Planet;
+       class Tile;
+       class TileType;
 }
 namespace creature {
 
@@ -16,12 +18,24 @@ public:
        Situation();
        ~Situation();
 
+       Situation(const Situation &) = delete;
+       Situation &operator =(const Situation &) = delete;
+
+       Situation(Situation &&) = delete;
+       Situation &operator =(Situation &&) = delete;
+
 public:
        bool OnPlanet() const noexcept;
        world::Planet &GetPlanet() const noexcept { return *planet; }
+       bool OnSurface() const noexcept;
        int Surface() const noexcept { return surface; }
        const glm::dvec3 &Position() const noexcept { return position; }
+       bool OnTile() const noexcept;
+       glm::ivec2 SurfacePosition() const noexcept;
+       world::Tile &GetTile() const noexcept;
+       const world::TileType &GetTileType() const noexcept;
 
+       void Move(const glm::dvec3 &dp) noexcept;
        void SetPlanetSurface(world::Planet &, int srf, const glm::dvec3 &pos) noexcept;
 
 public: