diff --git a/server/gameserver/metamgr.cc b/server/gameserver/metamgr.cc index 2adab43..db7d6a5 100755 --- a/server/gameserver/metamgr.cc +++ b/server/gameserver/metamgr.cc @@ -62,6 +62,7 @@ public: std::vector robot_list; std::list ai_meta_list; std::list ai_list; + std::list text_meta_list; std::map parameter_hash; std::map gamemap_hash; @@ -90,6 +91,7 @@ public: std::map robot_hash; std::map> airline_hash; std::map ai_hash; + std::map text_hash; void Load() { @@ -138,6 +140,7 @@ public: f8::ReadCsvMetaFile(res_path + "equipUpgrade@equipUpgrade.csv", equipupgrade_meta_list); f8::ReadCsvMetaFile(res_path + "robot@robot.csv", robot_meta_list); f8::ReadCsvMetaFile(res_path + "ai@ai.csv", ai_meta_list); + f8::ReadCsvMetaFile(res_path + "text@text.csv", text_meta_list); BindToMetaData(); #if 1 { @@ -616,6 +619,11 @@ private: item.Init(); ai_hash[a8::MakeInt64(meta.ai_level(), meta.ai_mode())] = &item; } + + for (auto& meta : text_meta_list) { + text_hash[meta.textid()] = meta.text(); + } + } private: @@ -848,3 +856,9 @@ MetaData::AI* MetaMgr::GetAI(int ai_level, int ai_mode) auto itr = loader_->ai_hash.find(a8::MakeInt64(ai_level, ai_mode)); return itr != loader_->ai_hash.end() ? itr->second : nullptr; } + +std::string MetaMgr::GetText(const std::string& textid, const std::string& def_text) +{ + auto itr = loader_->text_hash.find(textid); + return itr != loader_->text_hash.end() ? itr->second : def_text; +} diff --git a/server/gameserver/metamgr.h b/server/gameserver/metamgr.h index 76a9aae..81b5d6c 100755 --- a/server/gameserver/metamgr.h +++ b/server/gameserver/metamgr.h @@ -48,6 +48,7 @@ class MetaMgr : public a8::Singleton int GetKillPointParam2(int kill_num); MetaData::Robot* RandRobot(std::set& refreshed_robot_set); MetaData::AI* GetAI(int ai_level, int ai_mode); + std::string GetText(const std::string& textid, const std::string& def_text=""); int gas_inactive_time = 10; int newbie_gas_inactive_time = 5; diff --git a/server/tools/protobuild/metatable.proto b/server/tools/protobuild/metatable.proto index 112126c..bf49bba 100755 --- a/server/tools/protobuild/metatable.proto +++ b/server/tools/protobuild/metatable.proto @@ -271,6 +271,12 @@ message AI optional int32 ai_mode = 12; } +message Text +{ + optional string textid = 1; + optional string text = 2; +} + //end message DoorObjJson