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 | ||
