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