diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2021-03-11 17:29:02 -0500 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2021-03-11 17:33:15 -0500 |
commit | a6d1ded1a41d0f461bf340a33e21fa896ce9da66 (patch) | |
tree | 9ddaf30031b1ffe2aa8be9b412038c99a6b879d7 /src/transform_system.h | |
parent | eb9fa5020317a44f17cc4906c4c1c6fe55700d3e (diff) | |
download | tanetane-a6d1ded1a41d0f461bf340a33e21fa896ce9da66.tar.gz tanetane-a6d1ded1a41d0f461bf340a33e21fa896ce9da66.tar.bz2 tanetane-a6d1ded1a41d0f461bf340a33e21fa896ce9da66.zip |
Added sliding around solid tiles
#3
Diffstat (limited to 'src/transform_system.h')
-rw-r--r-- | src/transform_system.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/transform_system.h b/src/transform_system.h index 476b8d8..03f391a 100644 --- a/src/transform_system.h +++ b/src/transform_system.h | |||
@@ -21,6 +21,11 @@ struct CollisionResult { | |||
21 | vec2i adjustedLoc; | 21 | vec2i adjustedLoc; |
22 | }; | 22 | }; |
23 | 23 | ||
24 | enum class CheckCollisionOptions { | ||
25 | None = 0, | ||
26 | AllowSliding = 1 << 0 | ||
27 | }; | ||
28 | |||
24 | class TransformSystem : public System { | 29 | class TransformSystem : public System { |
25 | public: | 30 | public: |
26 | 31 | ||
@@ -42,7 +47,7 @@ public: | |||
42 | }); | 47 | }); |
43 | } | 48 | } |
44 | 49 | ||
45 | CollisionResult checkCollision(int spriteId, vec2i curLoc, vec2i newLoc, Direction dir); | 50 | CollisionResult checkCollision(int spriteId, vec2i curLoc, vec2i newLoc, Direction dir, CheckCollisionOptions options = CheckCollisionOptions::None); |
46 | 51 | ||
47 | CharacterMedium getMediumAtPosition(int spriteId, vec2i newLoc); | 52 | CharacterMedium getMediumAtPosition(int spriteId, vec2i newLoc); |
48 | 53 | ||