From 1986c7440032b2662ba36dcf26f76a61332dc44a Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 7 Feb 2023 11:31:58 +0800 Subject: [PATCH] 1 --- server/gameserver/mt/MapCollider.cc | 18 ++++++++++++++++++ server/gameserver/mt/MapCollider.h | 3 +++ server/gameserver/mt/MetaMgr.cc | 7 +++++++ 3 files changed, 28 insertions(+) diff --git a/server/gameserver/mt/MapCollider.cc b/server/gameserver/mt/MapCollider.cc index 2b6988a0..e459d99b 100644 --- a/server/gameserver/mt/MapCollider.cc +++ b/server/gameserver/mt/MapCollider.cc @@ -16,6 +16,24 @@ namespace mt return itr != name_hash.end() ? itr->second : nullptr; } + void MapCollider::StaticPostInit() + { + + } + + void MapCollider::LoadAll() + { + std::vector files = { + "main3d_map.colliders.json" + }; + for (auto& filename : files) { + MapCollider* p = new MapCollider(); + p->Load(filename); + raw_list.push_back(p); + name_hash[filename] = p; + } + } + void MapCollider::Load(const std::string& filename) { a8::XObject xobj_root; diff --git a/server/gameserver/mt/MapCollider.h b/server/gameserver/mt/MapCollider.h index e618b73f..d39d31dc 100644 --- a/server/gameserver/mt/MapCollider.h +++ b/server/gameserver/mt/MapCollider.h @@ -14,6 +14,9 @@ namespace mt public: static MapCollider* GetByName(const std::string& name); + static void StaticPostInit(); + + static void LoadAll(); public: diff --git a/server/gameserver/mt/MetaMgr.cc b/server/gameserver/mt/MetaMgr.cc index 71785ca8..e69abe1e 100644 --- a/server/gameserver/mt/MetaMgr.cc +++ b/server/gameserver/mt/MetaMgr.cc @@ -34,6 +34,7 @@ #include "mt/Skill.h" #include "mt/SkillNumber.h" #include "mt/MapArea.h" +#include "mt/MapCollider.h" #include "app.h" @@ -106,6 +107,9 @@ namespace mt itr->static_pre_init_cb(); itr->load_cb(); } + { + mt::MapCollider::LoadAll(); + } for (size_t i = 0; i < 3; ++i) { for (auto& itr : meta_tables) { if (i < itr->init_cbs.size()) { @@ -116,6 +120,9 @@ namespace mt for (auto& itr : meta_tables) { itr->static_post_init_cb(); } + { + mt::MapCollider::StaticPostInit(); + } } void MetaMgr::UnInit()