diff --git a/server/imserver/app.cc b/server/imserver/app.cc index f5e6a6f..3820381 100644 --- a/server/imserver/app.cc +++ b/server/imserver/app.cc @@ -27,6 +27,7 @@ #include "gamelog.h" #include "asynctaskmgr.h" #include "guildmgr.h" +#include "metamgr.h" #include "MSConnMgr.h" #include "IMConnMgr.h" @@ -98,6 +99,7 @@ bool App::Init(int argc, char* argv[]) GameLog::Instance()->Init(); a8::IoLoop::Instance()->Init(1); JsonDataMgr::Instance()->Init(); + MetaMgr::Instance()->Init(); uuid.SetMachineId(instance_id); IMConnMgr::Instance()->Init(); MSConnMgr::Instance()->Init(); @@ -155,6 +157,7 @@ void App::UnInit() WSListener::Instance()->UnInit(); IMConnMgr::Instance()->UnInit(); MSConnMgr::Instance()->UnInit(); + MetaMgr::Instance()->UnInit(); JsonDataMgr::Instance()->UnInit(); f8::HttpClientPool::Instance()->UnInit(); a8::IoLoop::Instance()->UnInit(); diff --git a/server/imserver/metadata.cc b/server/imserver/metadata.cc index d94e54a..600e655 100644 --- a/server/imserver/metadata.cc +++ b/server/imserver/metadata.cc @@ -1,3 +1,13 @@ #include "precompile.h" #include "metadata.h" + +namespace MetaData +{ + + void Guild::Init() + { + + } + +} diff --git a/server/imserver/metadata.h b/server/imserver/metadata.h index a51bd55..eb7ce65 100644 --- a/server/imserver/metadata.h +++ b/server/imserver/metadata.h @@ -7,6 +7,8 @@ namespace MetaData struct Guild { const metatable::Guild* i = nullptr; + + void Init(); }; } diff --git a/server/imserver/metamgr.cc b/server/imserver/metamgr.cc index af86201..c4922f1 100644 --- a/server/imserver/metamgr.cc +++ b/server/imserver/metamgr.cc @@ -20,13 +20,16 @@ class MetaDataLoader { public: - std::map > dirty_words; + std::list guild_meta_list; + std::list guild_list; + + std::map guild_hash; void Load() { if (!f8::IsOnlineEnv()) { if (f8::IsTestEnv()) { - res_path = a8::Format("/root/pub/%d/%d/conf_test/game%d/rankserver.test/res%d/", + res_path = a8::Format("/root/pub/%d/%d/conf_test/game%d/imserver.test/res%d/", { GAME_ID, App::Instance()->instance_id, @@ -34,7 +37,7 @@ public: App::Instance()->instance_id }); } else { - res_path = a8::Format("/root/pub/%d/%d/conf_test/game%d/rankserver.dev/res%d/", + res_path = a8::Format("/root/pub/%d/%d/conf_test/game%d/imserver.dev/res%d/", { GAME_ID, App::Instance()->instance_id, @@ -45,6 +48,9 @@ public: } else { res_path = "../res/"; } + + f8::ReadCsvMetaFile(res_path + "Clan@Clan.csv", guild_meta_list); + BindToMetaData(); Check(); } @@ -56,6 +62,12 @@ private: void BindToMetaData() { + for (auto& meta : guild_meta_list) { + MetaData::Guild& item = a8::FastAppend(guild_list); + item.i = &meta; + item.Init(); + guild_hash[item.i->grade()] = &item; + } } private: