diff options
Diffstat (limited to 'src/sprite.h')
-rw-r--r-- | src/sprite.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/sprite.h b/src/sprite.h index e842192..65a7a66 100644 --- a/src/sprite.h +++ b/src/sprite.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef SPRITE_H_70503825 | 1 | #ifndef SPRITE_H_70503825 |
2 | #define SPRITE_H_70503825 | 2 | #define SPRITE_H_70503825 |
3 | 3 | ||
4 | #include <deque> | ||
4 | #include <map> | 5 | #include <map> |
5 | #include <string_view> | 6 | #include <string_view> |
6 | #include <vector> | 7 | #include <vector> |
@@ -14,6 +15,17 @@ struct SpriteFrame { | |||
14 | vec2i size; | 15 | vec2i size; |
15 | }; | 16 | }; |
16 | 17 | ||
18 | enum class CharacterState { | ||
19 | Normal, | ||
20 | Crouching, | ||
21 | Running | ||
22 | }; | ||
23 | |||
24 | struct Movement { | ||
25 | vec2i pos; | ||
26 | Direction dir; | ||
27 | }; | ||
28 | |||
17 | class Sprite { | 29 | class Sprite { |
18 | public: | 30 | public: |
19 | 31 | ||
@@ -30,6 +42,11 @@ public: | |||
30 | std::vector<SpriteFrame> frames; | 42 | std::vector<SpriteFrame> frames; |
31 | std::vector<std::vector<int>> animations; | 43 | std::vector<std::vector<int>> animations; |
32 | std::map<std::string, std::map<Direction, int>> nameDirToAnim; | 44 | std::map<std::string, std::map<Direction, int>> nameDirToAnim; |
45 | |||
46 | // Character | ||
47 | std::vector<int> followers; | ||
48 | std::deque<Movement> trail; | ||
49 | CharacterState characterState = CharacterState::Normal; | ||
33 | }; | 50 | }; |
34 | 51 | ||
35 | #endif /* end of include guard: SPRITE_H_70503825 */ | 52 | #endif /* end of include guard: SPRITE_H_70503825 */ |