This commit is contained in:
aozhiwei 2021-03-25 13:27:01 +08:00
parent 18a8ae7d45
commit 829b72261c
3 changed files with 33 additions and 1 deletions

View File

@ -76,6 +76,8 @@ public:
std::map<int, MetaData::Building*> building_hash;
std::map<int, MetaData::Drop*> drop_hash;
std::map<std::string, std::list<metatable::MapTplThingJson>> maptpl_meta_hash;
std::map<std::string, std::list<metatable::TerrainJson>> terrain_meta_hash;
std::map<std::string, std::list<metatable::MapLayerJson>> layer_meta_hash;
std::map<std::string, std::vector<MetaData::MapTplThing>> maptpl_hash;
std::map<int, MetaData::Dress*> dress_hash;
std::vector<MetaData::Dress*> dress_vec;
@ -738,6 +740,18 @@ std::vector<MetaData::MapTplThing>* MetaMgr::GetMapTplThing(std::string& map_nam
return itr != loader_->maptpl_hash.end() ? &itr->second : nullptr;
}
std::list<metatable::TerrainJson>* MetaMgr::GetTerrainJson(std::string& map_name)
{
auto itr = loader_->terrain_meta_hash.find(map_name);
return itr != loader_->terrain_meta_hash.end() ? &itr->second : nullptr;
}
std::list<metatable::MapLayerJson>* MetaMgr::GetMapLayer(std::string& map_name)
{
auto itr = loader_->layer_meta_hash.find(map_name);
return itr != loader_->layer_meta_hash.end() ? &itr->second : nullptr;
}
std::list<MetaData::AirDrop>& MetaMgr::GetAirDrops()
{
return loader_->airdrop_list;

View File

@ -32,6 +32,8 @@ class MetaMgr : public a8::Singleton<MetaMgr>
MetaData::Drop* GetDrop(int drop_id);
MetaData::SafeArea* GetSafeArea(int area_id);
std::vector<MetaData::MapTplThing>* GetMapTplThing(std::string& map_name);
std::list<metatable::TerrainJson>* GetTerrainJson(std::string& map_name);
std::list<metatable::MapLayerJson>* GetMapLayer(std::string& map_name);
std::list<MetaData::AirDrop>& GetAirDrops();
MetaData::AirDrop* GetAirDrop(int airdrop_id);
MetaData::AirLine* RandAirLine(int map_id);

View File

@ -358,3 +358,19 @@ message MapTplThingJson
optional string object_type = 12;
optional int32 _object_type = 13;
}
message TerrainJson
{
optional int32 map_id = 1;
repeated int32 dust = 2;
repeated int32 water = 3;
repeated int32 grass = 4;
}
message MapLayerJson
{
optional string name = 1;
optional int32 width = 2;
optional int32 height = 3;
repeated int32 grids = 4;
}