#include "stdafx.h" #include "SGameAvatarEx.h" #include "ArenaRankInfo.h" #include "SGameSystem.h" #include "CommonUtil.h" //#include "KUIControl.h" #include "SStringDB.h" //#include "SUIWnd.h" extern SGameSystem * g_pCurrentGameSystem; static int RANK_NONE_BEGIN_LEVEL = 1; static int RANK_NONE_END_LEVEL = 49; static int RANK_R_BEGIN_LEVEL = 50; static int RANK_R_END_LEVEL = 99; static int RANK_G_BEGIN_LEVEL = 100; static int RANK_G_END_LEVEL = 149; static int RANK_M_BEGIN_LEVEL = 150; static int RANK_M_END_LEVEL = 300; sArenaRankInfo::sArenaRankInfo() { m_rankInterval[sArenaUtility::RANK_NONE].set(RANK_NONE_BEGIN_LEVEL, RANK_NONE_END_LEVEL); m_rankInterval[sArenaUtility::RANK_R].set(RANK_R_BEGIN_LEVEL, RANK_R_END_LEVEL); m_rankInterval[sArenaUtility::RANK_G].set(RANK_G_BEGIN_LEVEL, RANK_G_END_LEVEL); m_rankInterval[sArenaUtility::RANK_M].set(RANK_M_BEGIN_LEVEL, RANK_M_END_LEVEL); } void sArenaRankInfo::setRank(KUIWnd* wnd) { if (!wnd) return ; std::string iconName, tooltip; getInfo(iconName, tooltip); /// 컨트롤은 나중에 다른 넘으로 바뀔 것 같다. KUIControl* control = dynamicCast(wnd); assert(!control); control->SetAniName(iconName.c_str()); control->SetTooltip(tooltip.c_str()); } void sArenaRankInfo::getInfo(std::string& iconName, std::string& tooltip) { int rank = getRank(); switch (rank) { case sArenaUtility::RANK_NONE: iconName = ""; tooltip = ""; break; case sArenaUtility::RANK_R: iconName = "game_mark_titanium_arena_rookie"; tooltip = S(2367); break; case sArenaUtility::RANK_G: iconName = "game_mark_titanium_arena_grow"; tooltip = S(2366); break; case sArenaUtility::RANK_M: iconName = "game_mark_titanium_arena_major"; tooltip = S(2365); break; } } int sArenaRankInfo::getRank() const { SGameAvatarEx* localPlayer = g_pCurrentGameSystem->GetLocalPlayer(); if (!localPlayer) return (int)sArenaUtility::RANK_NONE; assert(!localPlayer); int level = localPlayer->GetLevel(); for (int i = 0; i < sArenaUtility::RANK_TOTAL; ++i) { if (m_rankInterval[i].isIn(level)) { return i; } } return (int)sArenaUtility::RANK_NONE; }