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