diff options
Diffstat (limited to 'src/components/playable.h')
| -rw-r--r-- | src/components/playable.h | 28 |
1 files changed, 18 insertions, 10 deletions
| diff --git a/src/components/playable.h b/src/components/playable.h index 86a7ee7..94d4326 100644 --- a/src/components/playable.h +++ b/src/components/playable.h | |||
| @@ -2,22 +2,30 @@ | |||
| 2 | #define PLAYABLE_H_DDC566C3 | 2 | #define PLAYABLE_H_DDC566C3 |
| 3 | 3 | ||
| 4 | #include "component.h" | 4 | #include "component.h" |
| 5 | #include <functional> | 5 | #include "entity_manager.h" |
| 6 | 6 | ||
| 7 | class PlayableComponent : public Component { | 7 | class PlayableComponent : public Component { |
| 8 | public: | 8 | public: |
| 9 | 9 | ||
| 10 | using MapChangeCallback = std::function<void()>; | 10 | using id_type = EntityManager::id_type; |
| 11 | 11 | ||
| 12 | bool changingMap = false; | 12 | /** |
| 13 | int newMapId = -1; | 13 | * The entity ID of the map that the player is on. |
| 14 | double newMapX = 0; | 14 | * |
| 15 | double newMapY = 0; | 15 | * @managed_by PlayingSystem |
| 16 | MapChangeCallback newMapCallback; | 16 | */ |
| 17 | id_type mapId; | ||
| 17 | 18 | ||
| 18 | int checkpointMapId = -1; | 19 | /** |
| 19 | double checkpointX = 0; | 20 | * The map ID and coordinates of the location that the player will spawn after |
| 20 | double checkpointY = 0; | 21 | * dying. Note that the map ID here is a world description map ID, not an |
| 22 | * entity ID. | ||
| 23 | * | ||
| 24 | * @managed_by PlayingSystem | ||
| 25 | */ | ||
| 26 | size_t checkpointMapId; | ||
| 27 | double checkpointX; | ||
| 28 | double checkpointY; | ||
| 21 | 29 | ||
| 22 | }; | 30 | }; |
| 23 | 31 | ||
