Files
2026-06-01 12:46:52 +02:00

83 lines
2.2 KiB
C++

#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<KUIControl*>(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;
}