diff --git a/server/gameserver/mt/RankReward.cc b/server/gameserver/mt/RankReward.cc index d6c74ad9..99582f87 100644 --- a/server/gameserver/mt/RankReward.cc +++ b/server/gameserver/mt/RankReward.cc @@ -3,16 +3,20 @@ #include "mt/RankReward.h" IMPL_TABLE(mt::RankReward) +std::map mt::RankReward::rank_hash_; namespace mt { + void RankReward::Init1() + { + rank_hash_[rank()] = this; + } + float RankReward::GetRankRewardParam(int rank) { -#if 0 - auto itr = loader_->rankreward_hash.find(rank); - return itr != loader_->rankreward_hash.end() ? itr->second->pb->parameter() : 0.0f; -#endif + auto itr = rank_hash_.find(rank); + return itr != rank_hash_.end() ? itr->second->parameter() : 0.0f; } } diff --git a/server/gameserver/mt/RankReward.h b/server/gameserver/mt/RankReward.h index 354f2ceb..efbc8edd 100644 --- a/server/gameserver/mt/RankReward.h +++ b/server/gameserver/mt/RankReward.h @@ -11,8 +11,12 @@ namespace mt "rank") public: + void Init1(); static float GetRankRewardParam(int rank); + private: + static std::map rank_hash_; + }; }