diff --git a/server/gameserver/mt/RankPoint.cc b/server/gameserver/mt/RankPoint.cc index 13462518..94596c2d 100644 --- a/server/gameserver/mt/RankPoint.cc +++ b/server/gameserver/mt/RankPoint.cc @@ -3,32 +3,32 @@ #include "mt/RankPoint.h" IMPL_TABLE(mt::RankPoint) +std::map mt::RankPoint::rank_hash_; namespace mt { + void RankPoint::Init1() + { + rank_hash_[rank()] = this; + } + int RankPoint::GetRankPointParam1(int rank) { - #if 0 - auto itr = loader_->rankpoint_hash.find(rank); - return itr != loader_->rankpoint_hash.end() ? itr->second->pb->parameter2() : 0; - #endif + auto itr = rank_hash_.find(rank); + return itr != rank_hash_.end() ? itr->second->parameter2() : 0; } int RankPoint::GetRankPointParam2(int rank) { -#if 0 - auto itr = loader_->rankpoint_hash.find(rank); - return itr != loader_->rankpoint_hash.end() ? itr->second->pb->parameter2() : 0; -#endif + auto itr = rank_hash_.find(rank); + return itr != rank_hash_.end() ? itr->second->parameter2() : 0; } int RankPoint::GetRankPointParam3(int rank) { -#if 0 - auto itr = loader_->rankpoint_hash.find(rank); - return itr != loader_->rankpoint_hash.end() ? itr->second->pb->parameter3() : 0; -#endif + auto itr = rank_hash_.find(rank); + return itr != rank_hash_.end() ? itr->second->parameter3() : 0; } } diff --git a/server/gameserver/mt/RankPoint.h b/server/gameserver/mt/RankPoint.h index b1665fa8..e95919bf 100644 --- a/server/gameserver/mt/RankPoint.h +++ b/server/gameserver/mt/RankPoint.h @@ -11,10 +11,14 @@ namespace mt "rank") public: + void Init1(); static int GetRankPointParam1(int rank); static int GetRankPointParam2(int rank); static int GetRankPointParam3(int rank); + private: + static std::map rank_hash_; + }; }