From 315ca2fb388f790791c9ce372cf44e00d51e0e7f Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Tue, 9 Feb 2021 20:34:59 -0500 Subject: Added trigger zones to the map Walking into a trigger zone runs a script. --- src/map.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/map.cpp') 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) { point.y() = object.getPosition().y; warpPoints_[object.getName()] = std::move(point); + } else if (object.getType() == "trigger") { + Trigger t; + t.name = object.getName(); + t.pos.x() = object.getPosition().x; + t.pos.y() = object.getPosition().y; + t.size.w() = object.getAABB().width; + t.size.h() = object.getAABB().height; + + for (const tmx::Property& property : object.getProperties()) { + if (property.getName() == "script") { + t.script = property.getStringValue(); + } + } + + triggers_.push_back(std::move(t)); } } } -- cgit 1.4.1