diff options
Diffstat (limited to 'src/sprite.h')
-rw-r--r-- | src/sprite.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/sprite.h b/src/sprite.h index 733c792..13d0383 100644 --- a/src/sprite.h +++ b/src/sprite.h | |||
@@ -40,12 +40,23 @@ enum class CharacterMedium { | |||
40 | Water | 40 | Water |
41 | }; | 41 | }; |
42 | 42 | ||
43 | enum class BehaviourType { | ||
44 | None, | ||
45 | Wander, | ||
46 | Path | ||
47 | }; | ||
48 | |||
43 | struct Movement { | 49 | struct Movement { |
44 | vec2i pos; | 50 | vec2i pos; |
45 | Direction dir; | 51 | Direction dir; |
46 | CharacterMedium medium; | 52 | CharacterMedium medium; |
47 | }; | 53 | }; |
48 | 54 | ||
55 | struct PathfindingInstruction { | ||
56 | Direction dir; | ||
57 | vec2i endpoint; | ||
58 | }; | ||
59 | |||
49 | class Sprite { | 60 | class Sprite { |
50 | public: | 61 | public: |
51 | 62 | ||
@@ -106,7 +117,10 @@ public: | |||
106 | bool player = false; | 117 | bool player = false; |
107 | 118 | ||
108 | // Behaviour | 119 | // Behaviour |
109 | bool wander = false; | 120 | BehaviourType behaviourType = BehaviourType::None; |
121 | vec2i pathfindingDestination; | ||
122 | bool cardinalDirectionsOnly = false; | ||
123 | std::deque<PathfindingInstruction> path; | ||
110 | }; | 124 | }; |
111 | 125 | ||
112 | #endif /* end of include guard: SPRITE_H_70503825 */ | 126 | #endif /* end of include guard: SPRITE_H_70503825 */ |