From f95d61c75f8432ade3a58d3234cdb28bc4c64813 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sun, 25 Dec 2022 15:37:12 +0800 Subject: [PATCH] 1 --- server/gameserver/mt/SafeArea.cc | 13 +++++++++++++ server/gameserver/mt/SafeArea.h | 6 +++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/server/gameserver/mt/SafeArea.cc b/server/gameserver/mt/SafeArea.cc index 7fca8b19..6f35c7f4 100644 --- a/server/gameserver/mt/SafeArea.cc +++ b/server/gameserver/mt/SafeArea.cc @@ -4,7 +4,20 @@ IMPL_TABLE(mt::SafeArea) +std::map mt::SafeArea::type_hash_; + namespace mt { + void SafeArea::Init1() + { + type_hash_[type()] = this; + } + + const SafeArea* SafeArea::GetByType(int type) + { + auto itr = type_hash_.find(type); + return itr != type_hash_.end() ? itr->second : nullptr; + } + } diff --git a/server/gameserver/mt/SafeArea.h b/server/gameserver/mt/SafeArea.h index f783b16c..279bf6a4 100644 --- a/server/gameserver/mt/SafeArea.h +++ b/server/gameserver/mt/SafeArea.h @@ -11,7 +11,11 @@ namespace mt "id") public: - static const SafeArea* GetByType(int type) {}; + void Init1(); + static const SafeArea* GetByType(int type); + + private: + static std::map type_hash_; }; }