summary refs log tree commit diff stats
path: root/src/sprite.h
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2021-02-03 02:03:59 -0500
committerKelly Rauchenberger <fefferburbia@gmail.com>2021-02-03 02:03:59 -0500
commit8d7ef2b2ae3ddff204f5934fe67c535d7f1345e9 (patch)
tree7bcc12dd2efab7e24867895c5ef3fbb3e7d0e36d /src/sprite.h
parentbe09120d1d044b476ef8b516efbdb526f20d9e2d (diff)
downloadtanetane-8d7ef2b2ae3ddff204f5934fe67c535d7f1345e9.tar.gz
tanetane-8d7ef2b2ae3ddff204f5934fe67c535d7f1345e9.tar.bz2
tanetane-8d7ef2b2ae3ddff204f5934fe67c535d7f1345e9.zip
Converted Party into CharacterSystem
Diffstat (limited to 'src/sprite.h')
-rw-r--r--src/sprite.h17
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
18enum class CharacterState {
19 Normal,
20 Crouching,
21 Running
22};
23
24struct Movement {
25 vec2i pos;
26 Direction dir;
27};
28
17class Sprite { 29class Sprite {
18public: 30public:
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 */