diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.cpp | 2 | ||||
| -rw-r--r-- | src/map.cpp | 6 | ||||
| -rw-r--r-- | src/map.h | 4 |
3 files changed, 11 insertions, 1 deletions
| diff --git a/src/main.cpp b/src/main.cpp index b1fc373..62c81f3 100644 --- a/src/main.cpp +++ b/src/main.cpp | |||
| @@ -26,7 +26,7 @@ void loop(Renderer& renderer) { | |||
| 26 | game.setMap(std::move(map)); | 26 | game.setMap(std::move(map)); |
| 27 | 27 | ||
| 28 | int lucasSprite = game.emplaceSprite("lucas"); | 28 | int lucasSprite = game.emplaceSprite("lucas"); |
| 29 | game.getSystem<TransformSystem>().initSprite(lucasSprite, {32, 32}); | 29 | game.getSystem<TransformSystem>().initSprite(lucasSprite, game.getMap().getWarpPoint("spawn")); |
| 30 | game.getSystem<TransformSystem>().setUpCollision(lucasSprite, {-8, -8}, {12, 8}); | 30 | game.getSystem<TransformSystem>().setUpCollision(lucasSprite, {-8, -8}, {12, 8}); |
| 31 | game.getSystem<AnimationSystem>().initSprite(lucasSprite, "../res/sprites/lucas_anim.txt", renderer); | 31 | game.getSystem<AnimationSystem>().initSprite(lucasSprite, "../res/sprites/lucas_anim.txt", renderer); |
| 32 | game.getSprite(lucasSprite).controllable = true; | 32 | game.getSprite(lucasSprite).controllable = true; |
| diff --git a/src/map.cpp b/src/map.cpp index 1a2a250..2214d17 100644 --- a/src/map.cpp +++ b/src/map.cpp | |||
| @@ -78,6 +78,12 @@ Map::Map(std::string_view filename, Renderer& renderer) { | |||
| 78 | } | 78 | } |
| 79 | 79 | ||
| 80 | prototypes_.push_back(std::move(p)); | 80 | prototypes_.push_back(std::move(p)); |
| 81 | } else if (object.getType() == "warp") { | ||
| 82 | vec2i point; | ||
| 83 | point.x() = object.getPosition().x; | ||
| 84 | point.y() = object.getPosition().y; | ||
| 85 | |||
| 86 | warpPoints_[object.getName()] = std::move(point); | ||
| 81 | } | 87 | } |
| 82 | } | 88 | } |
| 83 | } | 89 | } |
| diff --git a/src/map.h b/src/map.h index a896b00..7bfb15e 100644 --- a/src/map.h +++ b/src/map.h | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | #ifndef MAP_H_D95D6D47 | 1 | #ifndef MAP_H_D95D6D47 |
| 2 | #define MAP_H_D95D6D47 | 2 | #define MAP_H_D95D6D47 |
| 3 | 3 | ||
| 4 | #include <map> | ||
| 4 | #include <string> | 5 | #include <string> |
| 5 | #include <string_view> | 6 | #include <string_view> |
| 6 | #include <vector> | 7 | #include <vector> |
| @@ -48,6 +49,8 @@ public: | |||
| 48 | 49 | ||
| 49 | const std::vector<Prototype>& getPrototypes() const { return prototypes_; } | 50 | const std::vector<Prototype>& getPrototypes() const { return prototypes_; } |
| 50 | 51 | ||
| 52 | const vec2i& getWarpPoint(const std::string& name) const { return warpPoints_.at(name); } | ||
| 53 | |||
| 51 | private: | 54 | private: |
| 52 | 55 | ||
| 53 | vec2i mapSize_; | 56 | vec2i mapSize_; |
| @@ -56,6 +59,7 @@ private: | |||
| 56 | int tilesetTextureId_; | 59 | int tilesetTextureId_; |
| 57 | int tilesetColumns_; | 60 | int tilesetColumns_; |
| 58 | std::vector<Prototype> prototypes_; | 61 | std::vector<Prototype> prototypes_; |
| 62 | std::map<std::string, vec2i> warpPoints_; | ||
| 59 | }; | 63 | }; |
| 60 | 64 | ||
| 61 | #endif /* end of include guard: MAP_H_D95D6D47 */ | 65 | #endif /* end of include guard: MAP_H_D95D6D47 */ |
