summary refs log tree commit diff stats
path: root/src/map.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/map.cpp')
-rw-r--r--src/map.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/map.cpp b/src/map.cpp index 7d9800d..0c4f9d6 100644 --- a/src/map.cpp +++ b/src/map.cpp
@@ -42,6 +42,8 @@ Map::Map(std::string_view filename, Renderer& renderer) {
42 for (const tmx::Property& property : tileset.getTile(maptile.ID)->properties) { 42 for (const tmx::Property& property : tileset.getTile(maptile.ID)->properties) {
43 if (property.getName() == "solid" && property.getBoolValue()) { 43 if (property.getName() == "solid" && property.getBoolValue()) {
44 tile.blocked = true; 44 tile.blocked = true;
45 } else if (property.getName() == "runSound") {
46 tile.step = stepTypeFromString(property.getStringValue());
45 } 47 }
46 } 48 }
47 49
@@ -64,3 +66,15 @@ bool Map::isBlocked(int x, int y) const {
64 66
65 return false; 67 return false;
66} 68}
69
70StepType Map::getStepType(int x, int y) const {
71 int i = x + y * mapSize_.w();
72
73 for (const std::vector<Tile>& layer : layers_) {
74 if (layer.at(i).step != StepType::none) {
75 return layer.at(i).step;
76 }
77 }
78
79 return StepType::none;
80}