summary refs log tree commit diff stats
path: root/src/components/ponderable.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/ponderable.h')
-rw-r--r--src/components/ponderable.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/components/ponderable.h b/src/components/ponderable.h index 5354f87..45150a0 100644 --- a/src/components/ponderable.h +++ b/src/components/ponderable.h
@@ -1,11 +1,15 @@
1#ifndef TANGIBLE_H_746DB3EE 1#ifndef TANGIBLE_H_746DB3EE
2#define TANGIBLE_H_746DB3EE 2#define TANGIBLE_H_746DB3EE
3 3
4#include <set>
4#include "component.h" 5#include "component.h"
6#include "entity_manager.h"
5 7
6class PonderableComponent : public Component { 8class PonderableComponent : public Component {
7public: 9public:
8 10
11 using id_type = EntityManager::id_type;
12
9 /** 13 /**
10 * List of different types of physical bodies. 14 * List of different types of physical bodies.
11 * 15 *
@@ -67,6 +71,35 @@ public:
67 bool grounded = false; 71 bool grounded = false;
68 72
69 /** 73 /**
74 * Whether or not a freefalling body is being ferried by another body.
75 *
76 * @managed_by PonderingSystem
77 */
78 bool ferried = false;
79
80 /**
81 * The entity that is ferrying this body, if there is one.
82 *
83 * @managed_by PonderingSystem
84 */
85 id_type ferry;
86
87 /**
88 * The location of the body relative to the location of its ferry.
89 *
90 * @managed_by PonderingSystem
91 */
92 double relX;
93 double relY;
94
95 /**
96 * The bodies that are being ferried by this body.
97 *
98 * @managed_by PonderingSystem
99 */
100 std::set<id_type> passengers;
101
102 /**
70 * If enabled, this will prevent the body from moving. 103 * If enabled, this will prevent the body from moving.
71 */ 104 */
72 bool frozen = false; 105 bool frozen = false;