diff options
Diffstat (limited to 'src/components')
-rw-r--r-- | src/components/mappable.h | 4 | ||||
-rw-r--r-- | src/components/ponderable.h | 16 |
2 files changed, 18 insertions, 2 deletions
diff --git a/src/components/mappable.h b/src/components/mappable.h index 6f3d38e..e92074e 100644 --- a/src/components/mappable.h +++ b/src/components/mappable.h | |||
@@ -7,7 +7,7 @@ | |||
7 | #include <list> | 7 | #include <list> |
8 | #include "component.h" | 8 | #include "component.h" |
9 | #include "renderer/texture.h" | 9 | #include "renderer/texture.h" |
10 | #include "collision.h" | 10 | #include "components/ponderable.h" |
11 | #include "entity_manager.h" | 11 | #include "entity_manager.h" |
12 | 12 | ||
13 | class MappableComponent : public Component { | 13 | class MappableComponent : public Component { |
@@ -46,7 +46,7 @@ public: | |||
46 | class Boundary { | 46 | class Boundary { |
47 | public: | 47 | public: |
48 | 48 | ||
49 | using Type = Collision::Type; | 49 | using Type = PonderableComponent::Collision; |
50 | 50 | ||
51 | Boundary( | 51 | Boundary( |
52 | double axis, | 52 | double axis, |
diff --git a/src/components/ponderable.h b/src/components/ponderable.h index fd7e775..5354f87 100644 --- a/src/components/ponderable.h +++ b/src/components/ponderable.h | |||
@@ -21,6 +21,17 @@ public: | |||
21 | }; | 21 | }; |
22 | 22 | ||
23 | /** | 23 | /** |
24 | * List of different types of collidable surfaces. | ||
25 | */ | ||
26 | enum class Collision { | ||
27 | wall, | ||
28 | platform, | ||
29 | adjacency, | ||
30 | warp, | ||
31 | danger | ||
32 | }; | ||
33 | |||
34 | /** | ||
24 | * Constructor for initializing the body type, which is a constant. | 35 | * Constructor for initializing the body type, which is a constant. |
25 | */ | 36 | */ |
26 | PonderableComponent(Type type) : type(type) | 37 | PonderableComponent(Type type) : type(type) |
@@ -67,6 +78,11 @@ public: | |||
67 | bool collidable = true; | 78 | bool collidable = true; |
68 | 79 | ||
69 | /** | 80 | /** |
81 | * The effect that colliding with this body has. | ||
82 | */ | ||
83 | Collision colliderType = Collision::wall; | ||
84 | |||
85 | /** | ||
70 | * If this flag is disabled, the entity will be ignored by the pondering | 86 | * If this flag is disabled, the entity will be ignored by the pondering |
71 | * system. | 87 | * system. |
72 | * | 88 | * |