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 | } |