From 3c39bfdda6a2fda417abe53fbd65fc2d2ffbab87 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sun, 25 Dec 2022 14:50:58 +0800 Subject: [PATCH] 1 --- server/gameserver/mt/MetaMgr.cc | 31 +++++++++++++++++++------------ server/gameserver/mt/MetaMgr.h | 3 +++ 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/server/gameserver/mt/MetaMgr.cc b/server/gameserver/mt/MetaMgr.cc index 2e139e56..a59731cc 100644 --- a/server/gameserver/mt/MetaMgr.cc +++ b/server/gameserver/mt/MetaMgr.cc @@ -61,7 +61,12 @@ namespace mt } else { res_path_ = "../res/"; } + RegMetaTables(); + Load(); + } + void MetaMgr::RegMetaTables() + { RegMetaTable(res_path_); RegMetaTable(res_path_); RegMetaTable(res_path_); @@ -97,21 +102,23 @@ namespace mt RegMetaTable(res_path_); RegMetaTable(res_path_); RegMetaTable(res_path_); - { + } + + void MetaMgr::Load() + { + for (auto& itr : meta_tables) { + itr->static_pre_init_cb(); + itr->load_cb(); + } + for (int i = 0; i < 3; ++i) { for (auto& itr : meta_tables) { - itr->static_pre_init_cb(); - itr->load_cb(); - } - for (int i = 0; i < 3; ++i) { - for (auto& itr : meta_tables) { - if (i < itr->init_cbs.size()) { - itr->init_cbs.at(i)(); - } + if (i < itr->init_cbs.size()) { + itr->init_cbs.at(i)(); } } - for (auto& itr : meta_tables) { - itr->static_post_init_cb(); - } + } + for (auto& itr : meta_tables) { + itr->static_post_init_cb(); } } diff --git a/server/gameserver/mt/MetaMgr.h b/server/gameserver/mt/MetaMgr.h index a7e5c455..2bc4a82f 100644 --- a/server/gameserver/mt/MetaMgr.h +++ b/server/gameserver/mt/MetaMgr.h @@ -66,6 +66,9 @@ namespace mt void Init(); void UnInit(); + void RegMetaTables(); + void Load(); + template mt::MetaTable* RegMetaTable(const std::string& dir) {