summary refs log tree commit diff stats
path: root/src/components.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/components.h')
-rw-r--r--src/components.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/components.h b/src/components.h index f182590..f421529 100644 --- a/src/components.h +++ b/src/components.h
@@ -77,13 +77,22 @@ class MapCollisionComponent : public Component {
77 }; 77 };
78 78
79 struct Collision { 79 struct Collision {
80 enum class Type {
81 wall,
82 wrap,
83 teleport,
84 reverse,
85 platform,
86 danger
87 };
88
80 int axis; 89 int axis;
81 int lower; 90 int lower;
82 int upper; 91 int upper;
83 int type; 92 Type type;
84 }; 93 };
85 94
86 void addCollision(int axis, int lower, int upper, Direction dir, int type); 95 void addCollision(int axis, int lower, int upper, Direction dir, Collision::Type type);
87 bool processCollision(Game& game, Entity& collider, Collision collision, Direction dir); 96 bool processCollision(Game& game, Entity& collider, Collision collision, Direction dir);
88 97
89 std::list<Collision> left_collisions; 98 std::list<Collision> left_collisions;