From 15e11666b5de7abdf69aac3620f1ea7ac959f31c Mon Sep 17 00:00:00 2001 From: songhao Date: Tue, 21 Aug 2018 03:12:23 -0400 Subject: [PATCH] tiledmap read data --- cpp/tiledmap.cc | 10 +++++++--- cpp/tiledmap.h | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/cpp/tiledmap.cc b/cpp/tiledmap.cc index 48f8a31..41e9257 100644 --- a/cpp/tiledmap.cc +++ b/cpp/tiledmap.cc @@ -34,10 +34,10 @@ bool TiledMap::LoadTmxFile(const std::string& filename) return false; } - std::shared_ptr tileset_node = xobj.At("child_node.tileset")->At(0); + std::shared_ptr tileset_node = xobj.At("child_node.tileset")->At(0); tile_count = tileset_node->At("attrs.tilecount")->AsXValue(); - tile_width = tileset_node->At("attrs.tilewidth")->AsXValue(); - tile_height = tileset_node->At("attrs.tileheight")->AsXValue(); + tile_width = tileset_node->At("attrs.tilewidth")->AsXValue(); + tile_height = tileset_node->At("attrs.tileheight")->AsXValue(); for (int i = 0; i < xobj.At("child_node.layer")->Size(); ++i) { std::shared_ptr layer_node = xobj.At("child_node.layer")->At(i); @@ -52,6 +52,9 @@ bool TiledMap::LoadTmxFile(const std::string& filename) std::shared_ptr prop_node = prop_nodes->At(j); layer.prop_hash[prop_node->At("attrs.name")->AsXValue()] = prop_node->At("attrs.value")->AsXValue(); } + + std::shared_ptr data_node = layer_node->At("child_node.data")->At(0); + layer.data = data_node->At("node_value")->AsXValue(); } std::string layer_name = layer_node->At("attrs.name")->AsXValue(); @@ -110,6 +113,7 @@ void TiledMap::Dump() for (auto& pair : layer_hash) { a8::XPrintf(" layer$layer_type:%s\n", {pair.first}); for (auto& layer : pair.second) { + a8::XPrintf("data$data:%s\n",{layer.data}); for (auto& pair2 : layer.prop_hash) { a8::XPrintf(" layer$%s:%s\n", {pair2.first, pair2.second}); } diff --git a/cpp/tiledmap.h b/cpp/tiledmap.h index 5922906..2bb8ced 100644 --- a/cpp/tiledmap.h +++ b/cpp/tiledmap.h @@ -19,6 +19,7 @@ class TiledLayer public: std::map prop_hash; + a8::XValue data; }; class TiledMap