From 829b72261c896ec80d691dbcde6bc0e021d7b591 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 25 Mar 2021 13:27:01 +0800 Subject: [PATCH] 1 --- server/gameserver/metamgr.cc | 14 ++++++++++++++ server/gameserver/metamgr.h | 2 ++ server/tools/protobuild/metatable.proto | 18 +++++++++++++++++- 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/server/gameserver/metamgr.cc b/server/gameserver/metamgr.cc index 7785226..59274df 100755 --- a/server/gameserver/metamgr.cc +++ b/server/gameserver/metamgr.cc @@ -76,6 +76,8 @@ public: std::map building_hash; std::map drop_hash; std::map> maptpl_meta_hash; + std::map> terrain_meta_hash; + std::map> layer_meta_hash; std::map> maptpl_hash; std::map dress_hash; std::vector dress_vec; @@ -738,6 +740,18 @@ std::vector* MetaMgr::GetMapTplThing(std::string& map_nam return itr != loader_->maptpl_hash.end() ? &itr->second : nullptr; } +std::list* 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* 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& MetaMgr::GetAirDrops() { return loader_->airdrop_list; diff --git a/server/gameserver/metamgr.h b/server/gameserver/metamgr.h index 0990bda..5960f57 100755 --- a/server/gameserver/metamgr.h +++ b/server/gameserver/metamgr.h @@ -32,6 +32,8 @@ class MetaMgr : public a8::Singleton MetaData::Drop* GetDrop(int drop_id); MetaData::SafeArea* GetSafeArea(int area_id); std::vector* GetMapTplThing(std::string& map_name); + std::list* GetTerrainJson(std::string& map_name); + std::list* GetMapLayer(std::string& map_name); std::list& GetAirDrops(); MetaData::AirDrop* GetAirDrop(int airdrop_id); MetaData::AirLine* RandAirLine(int map_id); diff --git a/server/tools/protobuild/metatable.proto b/server/tools/protobuild/metatable.proto index b6d91d6..208b4cd 100755 --- a/server/tools/protobuild/metatable.proto +++ b/server/tools/protobuild/metatable.proto @@ -357,4 +357,20 @@ message MapTplThingJson optional float param3 = 11; optional string object_type = 12; optional int32 _object_type = 13; -} \ No newline at end of file +} + +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; +}