diff options
Diffstat (limited to 'src/map.cpp')
-rw-r--r-- | src/map.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/map.cpp b/src/map.cpp index 7bff071..5845009 100644 --- a/src/map.cpp +++ b/src/map.cpp | |||
@@ -78,6 +78,8 @@ Map::Map(std::string_view name) : name_(name) { | |||
78 | p.shadow = property.getBoolValue(); | 78 | p.shadow = property.getBoolValue(); |
79 | } else if (property.getName() == "wander") { | 79 | } else if (property.getName() == "wander") { |
80 | p.wander = property.getBoolValue(); | 80 | p.wander = property.getBoolValue(); |
81 | } else if (property.getName() == "enclosureZone") { | ||
82 | p.enclosureZone = property.getStringValue(); | ||
81 | } | 83 | } |
82 | } | 84 | } |
83 | 85 | ||
@@ -118,6 +120,14 @@ Map::Map(std::string_view name) : name_(name) { | |||
118 | } | 120 | } |
119 | 121 | ||
120 | prototypes_.push_back(std::move(p)); | 122 | prototypes_.push_back(std::move(p)); |
123 | } else if (object.getType() == "zone") { | ||
124 | Zone z; | ||
125 | z.ul.x() = object.getPosition().x; | ||
126 | z.ul.y() = object.getPosition().y; | ||
127 | z.dr.x() = z.ul.x() + object.getAABB().width; | ||
128 | z.dr.y() = z.ul.y() + object.getAABB().height; | ||
129 | |||
130 | zones_[object.getName()] = std::move(z); | ||
121 | } | 131 | } |
122 | } | 132 | } |
123 | } | 133 | } |