]> git.localhorst.tv Git - blobs.git/blob - src/creature/Situation.hpp
extract situation from creature
[blobs.git] / src / creature / Situation.hpp
1 #ifndef BLOBS_CREATURE_SITUATION_HPP_
2 #define BLOBS_CREATURE_SITUATION_HPP_
3
4 #include "../graphics/glm.hpp"
5
6
7 namespace blobs {
8 namespace world {
9         class Planet;
10 }
11 namespace creature {
12
13 class Situation {
14
15 public:
16         Situation();
17         ~Situation();
18
19 public:
20         bool OnPlanet() const noexcept;
21         world::Planet &GetPlanet() const noexcept { return *planet; }
22         int Surface() const noexcept { return surface; }
23         const glm::dvec3 &Position() const noexcept { return position; }
24
25         void SetPlanetSurface(world::Planet &, int srf, const glm::dvec3 &pos) noexcept;
26
27 public:
28         world::Planet *planet;
29         glm::dvec3 position;
30         int surface;
31         enum {
32                 LOST,
33                 PLANET_SURFACE,
34         } type;
35
36 };
37
38 }
39 }
40
41 #endif