diff options
Diffstat (limited to 'src/party.h')
| -rw-r--r-- | src/party.h | 20 |
1 files changed, 18 insertions, 2 deletions
| diff --git a/src/party.h b/src/party.h index 9b0aa89..06f8639 100644 --- a/src/party.h +++ b/src/party.h | |||
| @@ -12,15 +12,31 @@ public: | |||
| 12 | 12 | ||
| 13 | void move(Game& game, const Input& keystate); | 13 | void move(Game& game, const Input& keystate); |
| 14 | 14 | ||
| 15 | void beginCrouch(Game& game); | ||
| 16 | |||
| 17 | void endCrouch(Game& game); | ||
| 18 | |||
| 15 | private: | 19 | private: |
| 16 | 20 | ||
| 21 | enum class State { | ||
| 22 | Normal, | ||
| 23 | Crouching, | ||
| 24 | Running | ||
| 25 | }; | ||
| 26 | |||
| 27 | struct Movement { | ||
| 28 | vec2i pos; | ||
| 29 | Direction dir; | ||
| 30 | }; | ||
| 31 | |||
| 17 | struct PartyMember { | 32 | struct PartyMember { |
| 18 | int spriteId; | 33 | int spriteId; |
| 19 | std::deque<vec2i> nextPosition; | 34 | std::deque<Movement> movement; |
| 20 | std::deque<Direction> nextDirection; | ||
| 21 | }; | 35 | }; |
| 22 | 36 | ||
| 23 | std::vector<PartyMember> members_; | 37 | std::vector<PartyMember> members_; |
| 38 | State state_ = State::Normal; | ||
| 39 | Direction lastDir_; | ||
| 24 | }; | 40 | }; |
| 25 | 41 | ||
| 26 | #endif /* end of include guard: PARTY_H_826F91BA */ | 42 | #endif /* end of include guard: PARTY_H_826F91BA */ |
