#pragma once class TiledObject { public: a8::XValue GetProperty(const std::string& prop_name); bool HasProperty(const std::string& prop_name); public: std::map prop_hash; }; class TiledLayer { public: a8::XValue GetProperty(const std::string& prop_name); bool HasProperty(const std::string& prop_name); public: std::map prop_hash; }; class TiledMap { public: TiledLayer* ground_layer = nullptr; std::list speed_layers; int tile_count = 0; //瓦片地图的尺寸。(以瓦片数量为单位) int tile_size = 0; //瓦片的尺寸。(以像素点为单位) bool LoadTmxFile(const std::string& filename); std::list* GetObjectGroup(const std::string& object_class_name); void Dump(); private: std::map> layer_hash; std::map> object_group_hash; };