diff options
| author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2021-02-09 20:34:59 -0500 |
|---|---|---|
| committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2021-02-09 20:34:59 -0500 |
| commit | 315ca2fb388f790791c9ce372cf44e00d51e0e7f (patch) | |
| tree | 99fd0a66ce191959c73fe5058e538a4dcd07100e /src/map.cpp | |
| parent | 0c2cd251fa0427b19f7c995bc7da7319d2ac80a5 (diff) | |
| download | tanetane-315ca2fb388f790791c9ce372cf44e00d51e0e7f.tar.gz tanetane-315ca2fb388f790791c9ce372cf44e00d51e0e7f.tar.bz2 tanetane-315ca2fb388f790791c9ce372cf44e00d51e0e7f.zip | |
Added trigger zones to the map
Walking into a trigger zone runs a script.
Diffstat (limited to 'src/map.cpp')
| -rw-r--r-- | src/map.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
| diff --git a/src/map.cpp b/src/map.cpp index 2214d17..b6f6755 100644 --- a/src/map.cpp +++ b/src/map.cpp | |||
| @@ -84,6 +84,21 @@ Map::Map(std::string_view filename, Renderer& renderer) { | |||
| 84 | point.y() = object.getPosition().y; | 84 | point.y() = object.getPosition().y; |
| 85 | 85 | ||
| 86 | warpPoints_[object.getName()] = std::move(point); | 86 | warpPoints_[object.getName()] = std::move(point); |
| 87 | } else if (object.getType() == "trigger") { | ||
| 88 | Trigger t; | ||
| 89 | t.name = object.getName(); | ||
| 90 | t.pos.x() = object.getPosition().x; | ||
| 91 | t.pos.y() = object.getPosition().y; | ||
| 92 | t.size.w() = object.getAABB().width; | ||
| 93 | t.size.h() = object.getAABB().height; | ||
| 94 | |||
| 95 | for (const tmx::Property& property : object.getProperties()) { | ||
| 96 | if (property.getName() == "script") { | ||
| 97 | t.script = property.getStringValue(); | ||
| 98 | } | ||
| 99 | } | ||
| 100 | |||
| 101 | triggers_.push_back(std::move(t)); | ||
| 87 | } | 102 | } |
| 88 | } | 103 | } |
| 89 | } | 104 | } |
