#include "SunClientPrecompiledHeader.h" #ifdef _NA_008016_20150202_OLD_RANKING_SYSTEM #if defined(_NA_006802_20130704_REORGANIZATION_RANK_SYSTEM) #include "uiMissionRankList2.h" #include "uiMissionRankMan2/uiMissionRankMan2.h" #include "uiSystemMan/uiSystemMan.h" #include "Hero.h" #include "GlobalFunc.h" #include "interfacemanager.h" #include "RankingDefine.h" #include "RankingManager.h" #include "Application.h" #define MAX_SUB_MISSION_COUNT 5 const int c_iDefaultRankLine = 3; const int c_iDefaultMemberLine = 4; #ifdef _INTERNATIONAL_UI const DWORD c_iListFont = StrToWzID("st10"); #else const DWORD c_iListFont = StrToWzID("m212"); #endif//_INTERNATIONAL_UI #include "Mouse.h" const DWORD c_ListSelBarColor = RGBA(0,51,102,100); const DWORD c_ListBKColor = RGBA(255,255,255,0); const DWORD c_ListTextColor = RGBA(255,255,255,255); const DWORD c_ListSelTextColor = RGBA(255,255,255,255); const DWORD c_ListNonExistentTextColor = RGBA(255, 0, 0, 255); const int c_max_scroll_range = 5; // ³»¸²Â÷¼ø inline BOOL MissionRankingListGroupSort_Funter::operator()(RankingManager::LEVEL_AREA_BASE* lhs, RankingManager::LEVEL_AREA_BASE* rhs) const { return ((lhs->m_GroupOrder)<(rhs->m_GroupOrder)); } // ³»¸²Â÷¼ø inline BOOL MissionRankingListMissionSort_Funter::operator()(RankingManager::LEVEL_AREA_BASE* lhs, RankingManager::LEVEL_AREA_BASE* rhs) const { return ((lhs->m_MissionOrder)<(rhs->m_MissionOrder)); } //------------------------------------------------------------------------------ WzID uiMissionRankList2::m_wzId[DIALOG_MAX] = { StrToWzID("B999"), // Á¾·á //DLGPOS_MRL_BTN_EXIT, StrToWzID("T002"), // °á»êÀÏ //DLGPOS_MRL_TXT_DATE, StrToWzID("ST00"), // ³»Á¤º¸ //DLGPOS_MRL_TXT_MY_RANKING StrToWzID("T200"), // ÆäÀÌÁö Ç¥½Ã //DLGPOS_MRL_TXT_PAGE, StrToWzID("LS00"), // ¸í¿¹ÀÇ Àü´ç ¸®½ºÆ® //DLGPOS_MRL_LST_FAME, StrToWzID("L001"), // ÁÖ°£¼øÀ§ ¸®½ºÆ® //DLGPOS_MRL_LST_WEEK, StrToWzID("L005"), // Àü ÁÖ°£¼øÀ§ ¸®½ºÆ® //DLGPOS_MRL_LST_PREWEEK, StrToWzID("L000"), // Æ®¸® ÄÁÆ®·Ñ·¯ ¸®½ºÆ® //DLGPOS_MRL_LST_TREE_CONTROL StrToWzID("L002"), // ±¸¼º¿ø Á¤º¸ ¸®½ºÆ® //DLGPOS_MRL_LST_MEMBER, StrToWzID("S001"), // ÁÖ°£¼øÀ§ ½ºÅ©·Ñ //DLGPOS_MRL_VSCR_WEEK, StrToWzID("S002"), // Àü ÁÖ°£¼øÀ§ ½ºÅ©·Ñ //DLGPOS_MRL_VSCR_PREWEEK, StrToWzID("V000"), // Æ®¸® ½ºÅ©·Ñ //DLGPOS_MRL_VSCR_TREE, StrToWzID("S003"), // ±¸¼º¿ø ½ºÅ©·Ñ //DLGPOS_MRL_VSCR_MEMBER, StrToWzID("B104"), // º¸»ó¹Þ±â ¹öư //DLGPOS_MRL_BTN_REWARD, StrToWzID("B000"), // ´Ý±â ¹öư //DLGPOS_MRL_BTN_CLOSE, StrToWzID("B105"), // ÆäÀÌÁö À妽º °¨¼Ò ¹öư(<-) //DLGPOS_MRL_BTN_PAGE_LEFT, StrToWzID("B106"), // ÆäÀÌÁö À妽º Áõ°¡ ¹öư(->) //DLGPOS_MRL_BTN_PAGE_RIGHT, StrToWzID("T001"), // DLGPOS_MRL_TXT_TITLE, StrToWzID("B002"), // DLGPOS_MRL_BTN_NAME1, StrToWzID("BT01"), // DLGPOS_MRL_BTN_NAME2, StrToWzID("B101"), // DLGPOS_MRL_BTN_NAME3, StrToWzID("B005"), // DLGPOS_MRL_BTN_POINT1, StrToWzID("B003"), // DLGPOS_MRL_BTN_POINT2, StrToWzID("B103"), // DLGPOS_MRL_BTN_POINT3, StrToWzID("CT00"), StrToWzID("CT01"), StrToWzID("BT00"), // DLGPOS_MRL_STATIC_RATE StrToWzID("BT01"), // DLGPOS_MRL_STATIC_PARTY_NUMBER StrToWzID("BT02"), // DLGPOS_MRL_STATIC_LEVEL StrToWzID("B003"), // DLGPOS_MRL_STATIC_TIME StrToWzID("BT07"), // DLGPOS_MRL_STATIC_GUILD_LEVEL StrToWzID("BT06"), // DLGPOS_MRL_STATIC_GUILD StrToWzID("BT04"), // DLGPOS_MRL_STATIC_NAME StrToWzID("B002"), // DLGPOS_MRL_STATIC_MY_INFO_PARTY_NUMBER StrToWzID("B004"), // DLGPOS_MRL_STATIC_MY_INFO_LEVEL StrToWzID("P007"), //DLGPOS_MRL_PICTURE_SEARCH_SCROLL_PICTURE, StrToWzID("P005"), //DLGPOS_MRL_PICTURE_GROUP_INFOMATION_PICTURE, StrToWzID("T004"), //DLGPOS_MRL_TXT_GROUP_INFOMATION_TITLE, StrToWzID("P014"), //DLGPOS_MRL_PICTURE_GROUP_INFOMATION_BACKGROUND, StrToWzID("P016"), //DLGPOS_MRL_PICTURE_VSCR_MEMBER_FRAME, StrToWzID("P010"), //DLGPOS_MRL_PICTURE_REWARD_YELLOW_LINE, StrToWzID("T003"), //DLGPOS_MRL_TXT_SETTLEDATE_TITLE, StrToWzID("T007"), //DLGPOS_MRL_TXT_MISSION_TITLE, }; //------------------------------------------------------------------------------ /** */ uiMissionRankList2::uiMissionRankList2(InterfaceManager* ui_manager_ptr) : uiBase(ui_manager_ptr), Is_controls_initialized_(false), tree_controller_ptr_(NULL), tree_list_control_ptr_(NULL), current_select_ranking_type_(eRANKING_TYPE_NONE), current_sel_mapinfo_(NULL), Is_setting_finish_day_(false), wait_texture_(INVALID_HANDLE_VALUE), max_group_(0) { this->uimission_rank_manager_ptr_ = GET_DIALOG_MANAGER( uiMissionRankMan2, UIMAN_MISSION_RANK ); assert (uimission_rank_manager_ptr_); if (!this->uimission_rank_manager_ptr_) { #ifdef _DEBUG uiSystemMan * pSystemMan = (uiSystemMan *)g_InterfaceManager.GetUserInterfaceManager(UIMAN_SYSTEM); if(pSystemMan) pSystemMan->Sys_VerifyLock(_T("uimission_rank_manager_ptr_ÀÌ ¾ø½À´Ï´Ù.")); #endif this->ShowInterface(FALSE); return; } Is_show_ = false; mission_number_ = 0; reward_texture_alpha_color_ = 255; color_state_ = eCOLOR_STATE_DEC; } //------------------------------------------------------------------------------ /** */ uiMissionRankList2::~uiMissionRankList2() { this->Release(); } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::Init(CDrawBase* pDrawBase) { uiBase::Init(pDrawBase); m_iRanking_Max_Type = eRANKING_TYPE_MAX; // GroupOrder ÃÖ´ë°ªÀ¸·Î ¼ÂÆÃ ÇØÁÖ¾î¾ß ÇÑ´Ù. const RankingManager::MISSION_LEVEL_AREA_HASH& area_hash = GET_MISSION_RANK_MANAGER()->GetMissionLevelAreaTable(); RankingManager::MISSION_LEVEL_AREA_HASH::const_iterator iter = area_hash.begin(); for ( ; iter != area_hash.end(); ++iter ) { RankingManager::LEVEL_AREA_BASE* area_ptr = const_cast(iter->second); if ( area_ptr ) { if (area_ptr->m_GroupOrder > max_group_) { max_group_ = area_ptr->m_GroupOrder; } } } group_tree_item_.reserve(max_group_+1); for (int i = 0; i < max_group_+1; ++i) { group_tree_item_.push_back(NULL); } this->InitControls(); // ±âº»ÀûÀÎ ÅØ½ºÃĸ¦ ·ÎµùÇØ ³õ´Â´Ù. if (wait_texture_ == INVALID_HANDLE_VALUE) { wait_texture_ = g_pSunRenderer->x_pManagerTexture->LoadTexture("Data\\Interface\\Loading.tga", TLS_ORIGINAL_SIZE | TLS_NO_MIPMAP | TLS_NO_MULTITHREAD); } // ¾Ö´Ï¸ÞÀÌ¼Ç ÅØ½ºÃÄ À§Ä¡ (12ÇÁ·¹ÀÓ) ÇÁ·¹ÀÓ´ç (40 * 40) 4 x 3 °³ int index = 0; float width = 0.0f; float height = 0.0f; for (int i = 0; i < 3; ++i) { for (int j = 0; j < 4; ++j) { width = j * ANIMATION_FRAME_WIDTH; height = i * ANIMATION_FRAME_HEIGHT; texture_rectangles_[index].left = width; texture_rectangles_[index].top = height; texture_rectangles_[index].right = ANIMATION_FRAME_WIDTH; texture_rectangles_[index].bottom = ANIMATION_FRAME_HEIGHT; ++index; if (index >= ANIMATION_FRAME) { break; } } } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::Release() { if (tree_controller_ptr_) { tree_controller_ptr_->Release(); delete tree_controller_ptr_; tree_controller_ptr_ = NULL; } tree_list_control_ptr_ = NULL; if (wait_texture_ != INVALID_HANDLE_VALUE) { g_pSunRenderer->x_pManagerTexture->DestroyTexture(wait_texture_); wait_texture_ = INVALID_HANDLE_VALUE; } group_tree_item_.clear(); rank_data_list_clear(); } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::InitControls() { int i = 0; for ( i = 0; i < POS_TXT_SIZE; ++i ) { text_control_ptr_array_[i] = NULL; text_control_ptr_array_[i] = static_cast(this->getControl(DLGPOS_MRL_TXT_DATE + i)); } for ( i = 0; i < POS_LST_SIZE; ++i ) { list_control_ptr_array_[i] = NULL; list_control_ptr_array_[i] = static_cast(this->getControl(DLGPOS_MRL_LST_FAME + i)); } for ( i = 0; i < POS_BTN_SIZE; ++i ) { button_control_ptr_array_[i] = NULL; button_control_ptr_array_[i] = static_cast(this->getControl(DLGPOS_MRL_BTN_REWARD + i)); } for ( i = 0; i(this->getControl(DLGPOS_MRL_VSCR_WEEK + i)); } if ( scroll_control_ptr_array_[MRL_VSCR_PREWEEK] ) scroll_control_ptr_array_[MRL_VSCR_PREWEEK]->ShowWindowWZ( WZ_SHOW ); title_text_ptr_ = NULL; title_text_ptr_ = static_cast(this->getControl(DLGPOS_MRL_TXT_TITLE)); if ( title_text_ptr_ ) { // 2754 %s ¿ùµå ·©Å· TCHAR title_name[INTERFACE_STRING_LENGTH] = {0, }; g_InterfaceManager.GetInterfaceString(2754, title_name, INTERFACE_STRING_LENGTH); title_text_ptr_->SetTextWZA(title_name); } title_text_ptr_ = static_cast(this->getControl(DLGPOS_MRL_TXT_SETTLEDATE_TITLE)); if ( title_text_ptr_ ) { // 1639 %s °á»êÀÏ TCHAR title_name[INTERFACE_STRING_LENGTH] = {0, }; g_InterfaceManager.GetInterfaceString(1639, title_name, INTERFACE_STRING_LENGTH); title_text_ptr_->SetTextWZA(title_name); } title_text_ptr_ = static_cast(this->getControl(DLGPOS_MRL_TXT_MISSION_TITLE)); if ( title_text_ptr_ ) { // 9003 %s ÀÓ¹« TCHAR title_name[INTERFACE_STRING_LENGTH] = {0, }; g_InterfaceManager.GetInterfaceString(9003, title_name, INTERFACE_STRING_LENGTH); title_text_ptr_->SetTextWZA(title_name); } for( i = 0; i < POS_LST_BTN_SIZE; ++i ) { list_button_ptr_array_[i] = NULL; list_button_ptr_array_[i] = static_cast(this->getControl(DLGPOS_MRL_BTN_NAME1 + i)); } week_button_control_ptr_ = static_cast( getControl( DLGPOS_MRL_BTN_WEEK ) ); preweek_button_control_ptr_ = static_cast( getControl( DLGPOS_MRL_BTN_PREWEEK ) ); CCtrlStaticWZ* static_control_ptr = static_cast(this->getControl(DLGPOS_MRL_PICTURE_SEARCH_SCROLL_PICTURE)); if ( static_control_ptr ) { static_control_ptr->ShowWindowWZ(WZ_SHOW); } static_control_ptr = static_cast(this->getControl(DLGPOS_MRL_TXT_MY_RANKING)); if ( static_control_ptr ) { TCHAR tex[INTERFACE_STRING_LENGTH] = {0, }; // 2783 %s ³» ij¸¯ÅÍ ¼øÀ§ g_InterfaceManager.GetInterfaceString( 2783, tex, INTERFACE_STRING_LENGTH ); static_control_ptr->SetTextWZA(tex); } CCtrlButtonWZ* button_control_ptr = static_cast(this->getControl(DLGPOS_MRL_BTN_CLOSE)); if ( button_control_ptr ) { TCHAR tex[INTERFACE_STRING_LENGTH] = {0, }; // 5 %s ´Ý±â g_InterfaceManager.GetInterfaceString( 5, tex, INTERFACE_STRING_LENGTH ); button_control_ptr->SetTextWZA(tex); } button_control_ptr = static_cast(this->getControl(DLGPOS_MRL_BTN_REWARD)); if ( button_control_ptr ) { TCHAR tex[INTERFACE_STRING_LENGTH] = {0, }; // 1793 %s º¸»ó¹Þ±â g_InterfaceManager.GetInterfaceString( 1793, tex, INTERFACE_STRING_LENGTH ); button_control_ptr->SetTextWZA(tex); } tree_list_control_ptr_ = static_cast (this->getControl(DLGPOS_MRL_LST_TREE_CONTROL)); if ( tree_list_control_ptr_ ) { tree_list_control_ptr_->ShowWindowWZ(WZ_SHOW); } tree_controller_ptr_ = TreeController::CreateTree(20, 20, scroll_control_ptr_array_[MRL_VSCR_TREE], tree_list_control_ptr_); CCtrlPictureWZ* picture_control_ptr = static_cast(this->getControl(DLGPOS_MRL_PICTURE_REWARD_YELLOW_LINE)); if ( picture_control_ptr ) { picture_control_ptr->ShowWindowWZ(WZ_HIDE); picture_control_ptr->SetDiscardMessage(true); picture_control_ptr->SetTransprency(1.0f); } this->Is_controls_initialized_ = true; } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::_initRankListSelect() { if ( list_control_ptr_array_[MRL_LST_FAME] ) { list_control_ptr_array_[MRL_LST_FAME]->SetCurSel(-1); } if ( list_control_ptr_array_[MRL_LST_WEEK] ) { list_control_ptr_array_[MRL_LST_WEEK]->SetCurSel(-1); } if ( list_control_ptr_array_[MRL_LST_TREE_CONTROL] ) { list_control_ptr_array_[MRL_LST_TREE_CONTROL]->SetCurSel(-1); } if ( list_control_ptr_array_[MRL_LST_PREWEEK] ) { list_control_ptr_array_[MRL_LST_PREWEEK]->SetCurSel(-1); } _initMemberList(); } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::_initRankList() { CControlWZ* rate_static_control_ptr = getControl( DLGPOS_MRL_STATIC_RATE ); CControlWZ* party_number_static_control_ptr = getControl( DLGPOS_MRL_STATIC_PARTY_NUMBER ); CControlWZ* level_static_control_ptr = getControl( DLGPOS_MRL_STATIC_LEVEL ); CControlWZ* time_static_control_ptr = getControl( DLGPOS_MRL_STATIC_TIME ); CControlWZ* name1_button_control_ptr = getControl( DLGPOS_MRL_BTN_NAME1 ); CControlWZ* my_info_level_static_control_ptr = getControl( DLGPOS_MRL_STATIC_MY_INFO_LEVEL ); CControlWZ* time_button_control_ptr = getControl( DLGPOS_MRL_BTN_POINT1 ); if ( list_control_ptr_array_[MRL_LST_FAME] ) { list_control_ptr_array_[MRL_LST_FAME]->DeleteItemAll(); list_control_ptr_array_[MRL_LST_FAME]->SetColorSelBar(c_ListSelBarColor); list_control_ptr_array_[MRL_LST_FAME]->SetUseReport(true); list_control_ptr_array_[MRL_LST_FAME]->SetReportUseCnt(4); list_control_ptr_array_[MRL_LST_FAME]->SetHideReportRender(true); GlobalFunc::SetReportButtonInfo( list_control_ptr_array_[MRL_LST_FAME], 0, rate_static_control_ptr->GetSize().right, NULL ); GlobalFunc::SetReportButtonInfo( list_control_ptr_array_[MRL_LST_FAME], 1, name1_button_control_ptr->GetSize().right, NULL ); GlobalFunc::SetReportButtonInfo( list_control_ptr_array_[MRL_LST_FAME], 2, my_info_level_static_control_ptr->GetSize().right, NULL ); GlobalFunc::SetReportButtonInfo( list_control_ptr_array_[MRL_LST_FAME], 3, time_button_control_ptr->GetSize().right, NULL ); } if ( list_control_ptr_array_[MRL_LST_WEEK] ) { list_control_ptr_array_[MRL_LST_WEEK]->DeleteItemAll(); list_control_ptr_array_[MRL_LST_WEEK]->SetColorSelBar(c_ListSelBarColor); list_control_ptr_array_[MRL_LST_WEEK]->SetUseReport(true); list_control_ptr_array_[MRL_LST_WEEK]->SetReportUseCnt(4); list_control_ptr_array_[MRL_LST_WEEK]->SetHideReportRender(true); GlobalFunc::SetReportButtonInfo( list_control_ptr_array_[MRL_LST_WEEK], 0, rate_static_control_ptr->GetSize().right, NULL ); GlobalFunc::SetReportButtonInfo( list_control_ptr_array_[MRL_LST_WEEK], 1, party_number_static_control_ptr->GetSize().right, NULL ); GlobalFunc::SetReportButtonInfo( list_control_ptr_array_[MRL_LST_WEEK], 2, level_static_control_ptr->GetSize().right, NULL ); GlobalFunc::SetReportButtonInfo( list_control_ptr_array_[MRL_LST_WEEK], 3, time_static_control_ptr->GetSize().right, NULL ); } if ( list_control_ptr_array_[MRL_LST_PREWEEK] ) { list_control_ptr_array_[MRL_LST_PREWEEK]->DeleteItemAll(); list_control_ptr_array_[MRL_LST_PREWEEK]->SetColorSelBar(c_ListSelBarColor); list_control_ptr_array_[MRL_LST_PREWEEK]->SetUseReport(true); list_control_ptr_array_[MRL_LST_PREWEEK]->SetReportUseCnt(4); list_control_ptr_array_[MRL_LST_PREWEEK]->SetHideReportRender(true); GlobalFunc::SetReportButtonInfo( list_control_ptr_array_[MRL_LST_PREWEEK], 0, rate_static_control_ptr->GetSize().right, NULL ); GlobalFunc::SetReportButtonInfo( list_control_ptr_array_[MRL_LST_PREWEEK], 1, party_number_static_control_ptr->GetSize().right, NULL ); GlobalFunc::SetReportButtonInfo( list_control_ptr_array_[MRL_LST_PREWEEK], 2, level_static_control_ptr->GetSize().right, NULL ); GlobalFunc::SetReportButtonInfo( list_control_ptr_array_[MRL_LST_PREWEEK], 3, time_static_control_ptr->GetSize().right, NULL ); } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::_initMemberList() { if ( list_control_ptr_array_[MRL_LST_MEMBER] ) { list_control_ptr_array_[MRL_LST_MEMBER]->DeleteItemAll(); list_control_ptr_array_[MRL_LST_MEMBER]->SetColorSelBar(c_ListSelBarColor); list_control_ptr_array_[MRL_LST_MEMBER]->SetUseReport(true); list_control_ptr_array_[MRL_LST_MEMBER]->SetReportUseCnt(3); list_control_ptr_array_[MRL_LST_MEMBER]->SetHideReportRender(true); list_control_ptr_array_[MRL_LST_MEMBER]->SetSellHeight(21); list_control_ptr_array_[MRL_LST_MEMBER]->SetCurSel(-1); if ( scroll_control_ptr_array_[MRL_VSCR_MEMBER] ) { scroll_control_ptr_array_[MRL_VSCR_MEMBER]->SetScrollRangeWZ(0,0); //½ºÅ©·Ñ ¹üÀ§ scroll_control_ptr_array_[MRL_VSCR_MEMBER]->SetScrollPosWZ(0); } } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::_initPageSet() { if ( list_control_ptr_array_[MRL_LST_WEEK] ) list_control_ptr_array_[MRL_LST_WEEK]->SetCurSel(-1); _initMemberList(); } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::_prepareDisplay() { current_sel_mapinfo_ = NULL; current_select_ranking_type_ = eRANKING_TYPE_NONE; mission_number_ = 0; Is_show_ = true; _setTitle(); SetAreaList(); _initRankListSelect(); // À̹øÁÖ ÁÖ°£ ¼øÀ§ if ( scroll_control_ptr_array_[MRL_VSCR_WEEK] ) { scroll_control_ptr_array_[MRL_VSCR_WEEK]->SetScrollPosWZ(0); } // Áö³­ÁÖ ÁÖ°£ ¼øÀ§ if ( scroll_control_ptr_array_[MRL_VSCR_PREWEEK] ) { scroll_control_ptr_array_[MRL_VSCR_PREWEEK]->SetScrollPosWZ(0); } // ±¸¼º¿ø Á¤º¸ if ( scroll_control_ptr_array_[MRL_VSCR_MEMBER] ) { scroll_control_ptr_array_[MRL_VSCR_MEMBER]->SetScrollPosWZ(0); } get_ui_rank_manager_ptr_()->ClearRankData(); UpdateMissionText(); _initRankList(); } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::OnShowWindow( BOOL val ) { if ( val ) { if ( !this->Is_controls_initialized_ ) { this->ShowInterface(FALSE); return; } // °á»êÀÏ ¿äûÀ» À§Çؼ­ false·Î µ¹·Á ³õ´Â´Ù. set_Is_setting_finish_day(false); texture_timer_.Off(); texture_timer_.On(1); wait_animation_timer_.Off(); wait_animation_timer_.On(1); _prepareDisplay(); // ±¸¼º¿ø Á¤º¸ ºñȰ¼ºÈ­ group_infomation_enable(false); keyMsg msg; ZeroMemory(&msg,sizeof(msg)); msg.dwType = eDoType_dialog_mission_rank_list; msg.wParam = IM_MISSION_RANK_MANAGER::MissionRankList; msg.DoSomething = GlobalFunc::DoShowWindowEx; g_KeyQueueManager.PushBack(msg); if ( week_button_control_ptr_ ) week_button_control_ptr_->SetCheckState( TRUE ); if ( preweek_button_control_ptr_ ) preweek_button_control_ptr_->SetCheckState( FALSE ); list_control_ptr_array_[MRL_LST_WEEK]->ShowWindowWZ( WZ_SHOW ); list_control_ptr_array_[MRL_LST_PREWEEK]->ShowWindowWZ( WZ_HIDE ); } else { g_KeyQueueManager.DeleteMsg(eDoType_dialog_mission_rank_list); } } //------------------------------------------------------------------------------ /** */ BOOL uiMissionRankList2::_isEnable() { if ( GENERALPARAM->IsNet() ) { if ( this->IsLock() ) return FALSE; if(!g_pHero) return FALSE; if ( g_pHero && g_pHero->IsShowFullMap() ) return FALSE; if ( !get_ui_rank_manager_ptr_() ) return FALSE; return TRUE; } else { return TRUE; } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::MessageProc( SI_MESSAGE * pMessage ) { if (!_isEnable()) return; CCtrlListWZ* item = static_cast(this->getControl(DLGPOS_MRL_LST_TREE_CONTROL)); if ( tree_controller_ptr_ && item ) { RECT pos = item->GetSizeRect(); RECT dumi = scroll_control_ptr_array_[MRL_VSCR_TREE]->GetSizeRect(); int mouse_point_x = Mouse::Instance()->GetMouseX(); int mouse_point_y = Mouse::Instance()->GetMouseY(); if ( pos.left < mouse_point_x && /*pos.right*/ dumi.right > mouse_point_x && pos.top < mouse_point_y && /*pos.bottom*/ dumi.bottom > mouse_point_y ) { tree_controller_ptr_->MessageProc(pMessage); } } tree_controller_message_proc_check(); switch( pMessage->eResultMsg ) { case RT_MSG_LBUTTONCLICK: { switch ( getCtrlIDToPos( pMessage->dwCtrlID ) ) { case DLGPOS_MRL_BTN_EXIT: case DLGPOS_MRL_BTN_CLOSE: { Is_show_ = false; } break; case DLGPOS_MRL_BTN_PAGE_LEFT: { #if defined(_NA_006802_20130819_REORGANIZATION_RANK_SYSTEM_MINOR) #else if ( preweek_button_control_ptr_->GetCheckState() == TRUE ) { break; } #endif // _NA_006802_20130819_REORGANIZATION_RANK_SYSTEM_MINOR if ( get_ui_rank_manager_ptr_()->DecPage() == true ) { _initRankListSelect(); UpdatePageText(); } } break; case DLGPOS_MRL_BTN_PAGE_RIGHT: { #if defined(_NA_006802_20130819_REORGANIZATION_RANK_SYSTEM_MINOR) #else if ( preweek_button_control_ptr_->GetCheckState() == TRUE ) { break; } #endif // _NA_006802_20130819_REORGANIZATION_RANK_SYSTEM_MINOR if ( get_ui_rank_manager_ptr_()->IncPage() == true ) { _initRankListSelect(); UpdatePageText(); } } break; case DLGPOS_MRL_BTN_REWARD: { if ( get_ui_rank_manager_ptr_()->get_Is_wait_receive_packet_() == true ) break; if ( get_ui_rank_manager_ptr_()->get_Is_can_reward_() == true ) { get_ui_rank_manager_ptr_()->Send_CG_MISSION_RANKING_REWARD_SYN(); } else { // º¸»ó¹ÞÀ» ¼ö ¾ø´Â °æ¿ìÀÇ ¸Þ½ÃÁö ó¸® // ÀÌ ºÎºÐÀº ¾î¶»°Ô ÇÒÁö °í¹Î Á» ÇØº¸ÀÚ. // 5906 º¸»ó ´ë»óÀÌ ¾Æ´Õ´Ï´Ù. TCHAR szMessage[INTERFACE_STRING_LENGTH] = {0,}; g_InterfaceManager.GetInterfaceString(5906, szMessage, INTERFACE_STRING_LENGTH); GlobalFunc::OutputMsg_SysMsg(szMessage); } } break; case DLGPOS_MRL_LST_FAME: { list_control_ptr_array_[MRL_LST_WEEK]->SetCurSel(-1); list_control_ptr_array_[MRL_LST_PREWEEK]->SetCurSel(-1); if ( current_select_ranking_type_ == eRANKING_TYPE_TIME_ATTACK ) { list_control_ptr_array_[MRL_LST_MEMBER]->SetCurSel(-1); } if ( current_select_ranking_type_ != eRANKING_TYPE_TIME_ATTACK ) //¹Ì¼Ç·©Å· { break; } int index_number = list_control_ptr_array_[MRL_LST_FAME]->GetCurSel(); if(index_number >= 0) { get_ui_rank_manager_ptr_()->Send_CG_MISSION_RANKING_MEMBER_INFO_SYN(mission_number_, index_number, eRANKING_MYRANKING); } } break; case DLGPOS_MRL_LST_WEEK: { list_control_ptr_array_[MRL_LST_FAME]->SetCurSel(-1); list_control_ptr_array_[MRL_LST_PREWEEK]->SetCurSel(-1); if ( current_select_ranking_type_ == eRANKING_TYPE_TIME_ATTACK ) { list_control_ptr_array_[MRL_LST_MEMBER]->SetCurSel(-1); } if ( current_select_ranking_type_ != eRANKING_TYPE_TIME_ATTACK ) //¹Ì¼Ç·©Å· { break; } int index_number = list_control_ptr_array_[MRL_LST_WEEK]->GetCurSel(); if (index_number >= 0 ) { get_ui_rank_manager_ptr_()->Send_CG_MISSION_RANKING_MEMBER_INFO_SYN(mission_number_, index_number, eRANKING_TODAYWEEK); } } break; case DLGPOS_MRL_LST_PREWEEK: { list_control_ptr_array_[MRL_LST_FAME]->SetCurSel(-1); list_control_ptr_array_[MRL_LST_WEEK]->SetCurSel(-1); if ( current_select_ranking_type_ == eRANKING_TYPE_TIME_ATTACK ) { list_control_ptr_array_[MRL_LST_MEMBER]->SetCurSel(-1); } if ( current_select_ranking_type_ != eRANKING_TYPE_TIME_ATTACK ) //¹Ì¼Ç·©Å· { break; } int index_number = list_control_ptr_array_[MRL_LST_PREWEEK]->GetCurSel(); if ( index_number >= 0 ) { get_ui_rank_manager_ptr_()->Send_CG_MISSION_RANKING_MEMBER_INFO_SYN(mission_number_, index_number, eRANKING_LASTWEEK); } } break; case DLGPOS_MRL_LST_MEMBER: { } break; case DLGPOS_MRL_BTN_WEEK: { week_button_control_ptr_->SetCheckState( TRUE ); preweek_button_control_ptr_->SetCheckState( FALSE ); list_control_ptr_array_[MRL_LST_WEEK]->ShowWindowWZ( WZ_SHOW ); list_control_ptr_array_[MRL_LST_PREWEEK]->ShowWindowWZ( WZ_HIDE ); _initMemberList(); UpdateRankList(); } break; case DLGPOS_MRL_BTN_PREWEEK: { week_button_control_ptr_->SetCheckState( FALSE ); preweek_button_control_ptr_->SetCheckState( TRUE ); list_control_ptr_array_[MRL_LST_WEEK]->ShowWindowWZ( WZ_HIDE ); list_control_ptr_array_[MRL_LST_PREWEEK]->ShowWindowWZ( WZ_SHOW ); get_ui_rank_manager_ptr_()->UpdateReceiveData(current_select_ranking_type_, mission_number_, 0); UpdatePageText(); _initMemberList(); UpdateRankList(); } break; } } break; case RT_MSG_SB_LINETOP: //.À­ÂÊ È­»ìÇ¥¸¦ ´­·¶´Ù. { switch( getCtrlIDToPos( pMessage->dwCtrlID ) ) { case DLGPOS_MRL_VSCR_WEEK: { if ( scroll_control_ptr_array_[MRL_VSCR_WEEK] ) { int pos = scroll_control_ptr_array_[MRL_VSCR_WEEK]->GetScrollPosWZ(); //ÇöÀç ½ºÅ©·Ñ °ªÀ» ¹Þ¾Æ ¿Â´Ù. int mmin = 0 , mmax = 0; scroll_control_ptr_array_[MRL_VSCR_WEEK]->GetScrollRangeWZ( &mmin, &mmax );//½ºÅ©·Ñ °ªÀÇ ÃÖ´ë ÃÖ¼Ò¸¦ ¾ò¾î ¿Â´Ù. if ( pos > mmin )// ÇöÀç ÀÔ·ÂµÈ ¶óÀμö º¸´Ù ÀÛÀ¸¸é { pos--;//ÇÑÁÙ °¨¼Ò ½Ã۰í scroll_control_ptr_array_[MRL_VSCR_WEEK]->SetScrollPosWZ(pos); } } } break; case DLGPOS_MRL_VSCR_MEMBER: { if ( scroll_control_ptr_array_[MRL_VSCR_MEMBER] ) { int pos = scroll_control_ptr_array_[MRL_VSCR_MEMBER]->GetScrollPosWZ();//ÇöÀç ½ºÅ©·Ñ °ªÀ» ¹Þ¾Æ ¿Â´Ù. int mmin = 0 , mmax = 0; scroll_control_ptr_array_[MRL_VSCR_MEMBER]->GetScrollRangeWZ( &mmin, &mmax );//½ºÅ©·Ñ °ªÀÇ ÃÖ´ë ÃÖ¼Ò¸¦ ¾ò¾î ¿Â´Ù. if ( pos > mmin )// ÇöÀç ÀÔ·ÂµÈ ¶óÀμö º¸´Ù ÀÛÀ¸¸é { pos--;//ÇÑÁÙ °¨¼Ò ½Ã۰í scroll_control_ptr_array_[MRL_VSCR_MEMBER]->SetScrollPosWZ(pos); } } } break; } } break; case RT_MSG_SB_LINEBOTTOM: //.¾Æ·§ÂÊ È­»ìÇ¥¸¦ ´­·¶´Ù { switch ( getCtrlIDToPos( pMessage->dwCtrlID ) ) { case DLGPOS_MRL_VSCR_WEEK: { if ( scroll_control_ptr_array_[MRL_VSCR_WEEK] ) { int pos = scroll_control_ptr_array_[MRL_VSCR_WEEK]->GetScrollPosWZ();//ÇöÀç ½ºÅ©·Ñ °ªÀ» ¹Þ¾Æ ¿Â´Ù. int mmin = 0 , mmax = 0; scroll_control_ptr_array_[MRL_VSCR_WEEK]->GetScrollRangeWZ( &mmin, &mmax );//½ºÅ©·Ñ °ªÀÇ ÃÖ´ë ÃÖ¼Ò¸¦ ¾ò¾î ¿Â´Ù. if ( pos < mmax ) // ÇöÀç ÀÔ·ÂµÈ ¶óÀμö º¸´Ù ÀÛÀ¸¸é { pos++;//ÇÑÁÙ Áõ°¡ ½Ã۰í scroll_control_ptr_array_[MRL_VSCR_WEEK]->SetScrollPosWZ(pos); } } } break; case DLGPOS_MRL_VSCR_PREWEEK: { if ( scroll_control_ptr_array_[MRL_VSCR_PREWEEK] ) { int pos = scroll_control_ptr_array_[MRL_VSCR_PREWEEK]->GetScrollPosWZ();//ÇöÀç ½ºÅ©·Ñ °ªÀ» ¹Þ¾Æ ¿Â´Ù. int mmin = 0 , mmax = 0; scroll_control_ptr_array_[MRL_VSCR_PREWEEK]->GetScrollRangeWZ( &mmin, &mmax );//½ºÅ©·Ñ °ªÀÇ ÃÖ´ë ÃÖ¼Ò¸¦ ¾ò¾î ¿Â´Ù. if ( pos < mmax )// ÇöÀç ÀÔ·ÂµÈ ¶óÀμö º¸´Ù ÀÛÀ¸¸é { pos++;//ÇÑÁÙ Áõ°¡ ½Ã۰í scroll_control_ptr_array_[MRL_VSCR_PREWEEK]->SetScrollPosWZ(pos); } } } break; case DLGPOS_MRL_VSCR_MEMBER: { if ( scroll_control_ptr_array_[MRL_VSCR_MEMBER] ) { int pos = scroll_control_ptr_array_[MRL_VSCR_MEMBER]->GetScrollPosWZ();//ÇöÀç ½ºÅ©·Ñ °ªÀ» ¹Þ¾Æ ¿Â´Ù. int mmin = 0 , mmax = 0; scroll_control_ptr_array_[MRL_VSCR_MEMBER]->GetScrollRangeWZ( &mmin, &mmax );//½ºÅ©·Ñ °ªÀÇ ÃÖ´ë ÃÖ¼Ò¸¦ ¾ò¾î ¿Â´Ù. if ( pos < mmax )// ÇöÀç ÀÔ·ÂµÈ ¶óÀμö º¸´Ù ÀÛÀ¸¸é { pos++;//ÇÑÁÙ Áõ°¡ ½Ã۰í scroll_control_ptr_array_[MRL_VSCR_MEMBER]->SetScrollPosWZ(pos); } } } break; } } break; default: { SolarDialog::MessageProc( pMessage ); } break; } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::OnUpdateSolarDialog() { if ( !Is_show_ ) { ShowInterface(FALSE); return; } if ( !_isEnable() ) return; //infomation_received_check(); int current_scroll_pos = 0; int start_draw_index = 0; if (get_ui_rank_manager_ptr_()->get_Is_wait_receive_packet_() == true) { return; } if ( current_select_ranking_type_ == eRANKING_TYPE_TIME_ATTACK ) { if ( week_button_control_ptr_->GetCheckState() ) { if ( list_control_ptr_array_[MRL_LST_WEEK] && scroll_control_ptr_array_[MRL_VSCR_WEEK] ) { current_scroll_pos = scroll_control_ptr_array_[MRL_VSCR_WEEK]->GetScrollPosWZ();//ÇöÀç ½ºÅ©·Ñ °ªÀ» ¹Þ¾Æ ¿Â´Ù start_draw_index = current_scroll_pos; _UpdateMouseWheel(MRL_LST_WEEK); list_control_ptr_array_[MRL_LST_WEEK]->SetBeginDrawIndex( start_draw_index ); } } else { if ( list_control_ptr_array_[MRL_LST_PREWEEK] && scroll_control_ptr_array_[MRL_VSCR_WEEK] ) { current_scroll_pos = scroll_control_ptr_array_[MRL_VSCR_WEEK]->GetScrollPosWZ();//ÇöÀç ½ºÅ©·Ñ °ªÀ» ¹Þ¾Æ ¿Â´Ù start_draw_index = current_scroll_pos; _UpdateMouseWheel(MRL_LST_PREWEEK); list_control_ptr_array_[MRL_LST_PREWEEK]->SetBeginDrawIndex( start_draw_index ); } } if ( list_control_ptr_array_[MRL_LST_TREE_CONTROL] ) { current_scroll_pos = scroll_control_ptr_array_[MRL_VSCR_TREE]->GetScrollPosWZ(); // ÇöÀç ½ºÅ©·Ñ °ªÀ» ¹Þ¾Æ ¿Â´Ù start_draw_index = current_scroll_pos; _UpdateMouseWheel(MRL_LST_TREE_CONTROL); list_control_ptr_array_[MRL_LST_TREE_CONTROL]->SetBeginDrawIndex( start_draw_index ); } } else { if ( list_control_ptr_array_[MRL_LST_WEEK] && scroll_control_ptr_array_[MRL_VSCR_WEEK] ) { current_scroll_pos = scroll_control_ptr_array_[MRL_VSCR_WEEK]->GetScrollPosWZ();//ÇöÀç ½ºÅ©·Ñ °ªÀ» ¹Þ¾Æ ¿Â´Ù start_draw_index = current_scroll_pos; _UpdateMouseWheel(MRL_LST_WEEK); list_control_ptr_array_[MRL_LST_WEEK]->SetBeginDrawIndex( start_draw_index ); } // Áö³­ÁÖ ÁÖ°£ ¼øÀ§ if ( list_control_ptr_array_[MRL_LST_PREWEEK] && scroll_control_ptr_array_[MRL_VSCR_PREWEEK] ) { current_scroll_pos = scroll_control_ptr_array_[MRL_VSCR_PREWEEK]->GetScrollPosWZ();//ÇöÀç ½ºÅ©·Ñ °ªÀ» ¹Þ¾Æ ¿Â´Ù start_draw_index = current_scroll_pos; _UpdateMouseWheel(MRL_LST_PREWEEK); list_control_ptr_array_[MRL_LST_PREWEEK]->SetBeginDrawIndex( start_draw_index ); } } // ±¸¼º¿ø Á¤º¸ if ( list_control_ptr_array_[MRL_LST_MEMBER] && scroll_control_ptr_array_[MRL_VSCR_MEMBER] ) { current_scroll_pos = scroll_control_ptr_array_[MRL_VSCR_MEMBER]->GetScrollPosWZ();//ÇöÀç ½ºÅ©·Ñ °ªÀ» ¹Þ¾Æ ¿Â´Ù start_draw_index = current_scroll_pos; _UpdateMouseWheel(MRL_LST_MEMBER); list_control_ptr_array_[MRL_LST_MEMBER]->SetBeginDrawIndex( start_draw_index ); } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::SetAreaList() { if ( !get_ui_rank_manager_ptr_() ) return; rank_data_list_clear(); // TODO : // Area ±×·ìÀ» ÇϱâÀü¿¡ ¼ÒÆÃÀ» ÇØ¾ß ÇÑ´Ù. if ( tree_controller_ptr_ ) { std::vector ranking_group_vec; std::map group_check; group_check.clear(); std::list map_code; int count = (GET_MISSION_RANK_MANAGER()->GetMissionLevelAreaTable()).size(); tree_controller_ptr_->DeleteAllItem(); const RankingManager::MISSION_LEVEL_AREA_HASH& area_hash = GET_MISSION_RANK_MANAGER()->GetMissionLevelAreaTable(); RankingManager::MISSION_LEVEL_AREA_HASH::const_iterator iter = area_hash.begin(); for ( ; iter != area_hash.end(); ++iter ) { RankingManager::LEVEL_AREA_BASE* area_ptr = const_cast(iter->second); if ( area_ptr ) { ranking_group_vec.push_back(area_ptr); std::map::iterator iter; iter = group_check.find(area_ptr->m_GroupOrder); if (iter == group_check.end()) group_check.insert(make_pair(area_ptr->m_GroupOrder, false)); } } // GroupSort static MissionRankingListGroupSort_Funter mission_ranking_list_group_sort_funter; if ( !ranking_group_vec.empty() ) sort(ranking_group_vec.begin(), ranking_group_vec.end(), mission_ranking_list_group_sort_funter); for ( unsigned int i = 0; i < ranking_group_vec.size(); ++i ) { TCHAR area_name[INTERFACE_STRING_LENGTH] = {0, }; RankingManager::LEVEL_AREA_BASE* area_ptr = const_cast(ranking_group_vec[i]); if ( area_ptr ) { std::map::iterator iter; iter = group_check.find(area_ptr->m_GroupOrder); if (iter != group_check.end() && group_check[area_ptr->m_GroupOrder] == true) { continue; } ZeroMemory(area_name, sizeof(area_name)); g_InterfaceManager.GetInterfaceString( area_ptr->m_GroupString, area_name, INTERFACE_STRING_LENGTH ); group_check[area_ptr->m_GroupOrder] = true; map_code.push_back(area_ptr->m_MissionNo); group_tree_item_[area_ptr->m_GroupOrder] = tree_controller_ptr_->AddTreeItem(area_name, 0, 0, true, StrToWzID("st10"), NULL, NULL); } } group_check.clear(); } SetMissionList(); } //------------------------------------------------------------------------------ /** ¸¶¿ì½º ÈÙó¸® */ void uiMissionRankList2::_UpdateMouseWheel(eMRL_LST eListType) { RECT rc = list_control_ptr_array_[eListType]->GetSizeRect(); eMRL_VSCR scroll_type = MRL_VSCR_WEEK; switch ( eListType ) { case MRL_LST_PREWEEK:scroll_type=MRL_VSCR_PREWEEK; break; case MRL_LST_TREE_CONTROL:scroll_type=MRL_VSCR_TREE; break; case MRL_LST_MEMBER: scroll_type=MRL_VSCR_MEMBER; break; } switch ( GetMouseWheelStatus(&rc) ) { case MOUSE_WHEEL_UP: _DecreaseScroll(scroll_type); break; case MOUSE_WHEEL_DOWN:_IncreaseScroll(scroll_type); break; } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::_IncreaseScroll(eMRL_VSCR eScrollType) { if(scroll_control_ptr_array_[eScrollType]) { int pos = scroll_control_ptr_array_[eScrollType]->GetScrollPosWZ();//ÇöÀç ½ºÅ©·Ñ °ªÀ» ¹Þ¾Æ ¿Â´Ù. int mmin = 0 , mmax = 0; scroll_control_ptr_array_[eScrollType]->GetScrollRangeWZ( &mmin, &mmax );//½ºÅ©·Ñ °ªÀÇ ÃÖ´ë ÃÖ¼Ò¸¦ ¾ò¾î ¿Â´Ù. if ( pos < mmax )// ÇöÀç ÀÔ·ÂµÈ ¶óÀμö º¸´Ù ÀÛÀ¸¸é { pos++;//ÇÑÁÙ Áõ°¡ ½Ã۰í scroll_control_ptr_array_[eScrollType]->SetScrollPosWZ(pos); } } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::_DecreaseScroll(eMRL_VSCR eScrollType) { if ( scroll_control_ptr_array_[eScrollType] ) { int pos = scroll_control_ptr_array_[eScrollType]->GetScrollPosWZ();//ÇöÀç ½ºÅ©·Ñ °ªÀ» ¹Þ¾Æ ¿Â´Ù. int mmin = 0 , mmax = 0; scroll_control_ptr_array_[eScrollType]->GetScrollRangeWZ( &mmin, &mmax );//½ºÅ©·Ñ °ªÀÇ ÃÖ´ë ÃÖ¼Ò¸¦ ¾ò¾î ¿Â´Ù. if ( pos > mmin )// ÇöÀç ÀÔ·ÂµÈ ¶óÀμö º¸´Ù ÀÛÀ¸¸é { pos--;//ÇÑÁÙ °¨¼Ò ½Ã۰í scroll_control_ptr_array_[eScrollType]->SetScrollPosWZ(pos); } } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::SetMissionList() { if ( !get_ui_rank_manager_ptr_() ) return; // ¸ÕÀú °¢°¢ÀÇ Ranking ¹Ì¼ÇÀ» ¹Þ¾Æ¿Í¾ß ÇÑ´Ù. std::vector ranking_mission_vec; std::list map_code; const RankingManager::MISSION_LEVEL_AREA_HASH& area_hash = GET_MISSION_RANK_MANAGER()->GetMissionLevelAreaTable(); RankingManager::MISSION_LEVEL_AREA_HASH::const_iterator iter = area_hash.begin(); for ( ; iter != area_hash.end(); ++iter ) { RankingManager::LEVEL_AREA_BASE* area_ptr = const_cast(iter->second); if ( area_ptr ) { ranking_mission_vec.push_back(area_ptr); map_code.push_back(area_ptr->m_MissionNo); } } // MissionSort static MissionRankingListMissionSort_Funter mission_ranking_list_mission_sort_funter; if ( !ranking_mission_vec.empty() ) sort(ranking_mission_vec.begin(), ranking_mission_vec.end(), mission_ranking_list_mission_sort_funter); // ÀÌÁ¦ Á¤·Ä±îÁö ´Ù µÇ¾úÀ¸¸é MapInfo¸¦ ¹Þ¾Æ¼­ ¼ÂÆÃÇÏÀÚ. for ( unsigned int i = 0; i < ranking_mission_vec.size(); ++i ) { TCHAR mission_name[INTERFACE_STRING_LENGTH] = {0, }; RankingManager::LEVEL_AREA_BASE* mission_ptr = const_cast(ranking_mission_vec[i]); bool already = false; if ( mission_ptr ) { _stRankData* rank_data_struct_ptr = NULL; const sMAPINFO* map_info_ptr = MapInfoParser::Instance()->FindMapInfo(mission_ptr->m_MissionNo); if ( map_info_ptr ) { rank_data_struct_ptr = new _stRankData; rank_data_struct_ptr->ranking_system_type = static_cast(mission_ptr->m_RankingType); rank_data_struct_ptr->map_group_ptr = NULL; rank_data_struct_ptr->map_info_ptr = map_info_ptr; rank_data_struct_ptr->area_data_ptr = mission_ptr; rank_data_list_.push_back(rank_data_struct_ptr); } ZeroMemory(mission_name, sizeof(mission_name)); g_InterfaceManager.GetInterfaceString( mission_ptr->m_MissionString, mission_name, INTERFACE_STRING_LENGTH ); // ¿©±â¿¡ ¸Êµ¥ÀÌÅ͸¦ ¹°·Á¼­ »ç¿ëÇØ¾ß ÇÑ´Ù. if ( group_tree_item_[mission_ptr->m_GroupOrder] ) { if ( rank_data_struct_ptr ) { HTREEITEM pItem = tree_controller_ptr_->AddTreeItemCheckBox(mission_name, 0, 0, false, StrToWzID("st10"), rank_data_struct_ptr, group_tree_item_[mission_ptr->m_GroupOrder]); } } else { // ¸ÊÄڵ尡 °°Àº °É ã¾Æ³»¼­ ±× ·©Å· ŸÀÔ¿¡ Ãß°¡ for ( unsigned int i = 0; i < ranking_mission_vec.size(); ++i ) { RankingManager::LEVEL_AREA_BASE* pre_mission_ptr = const_cast(ranking_mission_vec[i]); if ( pre_mission_ptr && (pre_mission_ptr->m_MissionNo == mission_ptr->m_MissionNo) && group_tree_item_[pre_mission_ptr->m_GroupOrder] && rank_data_struct_ptr ) { HTREEITEM pItem = tree_controller_ptr_->AddTreeItemCheckBox(mission_name, 0, 0, false, StrToWzID("st10"), rank_data_struct_ptr, group_tree_item_[pre_mission_ptr->m_GroupOrder]); } } } } } // óÀ½¿¡´Â Tree¸¦ ´Ý¾Æ ³õ´Â´Ù. all_tree_controller_reflresh(); } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::UpdateMissionText() { if ( !_isEnable() ) return; const sMAPINFO * map_info_ptr = current_sel_mapinfo_; if ( map_info_ptr ) { mission_number_ = map_info_ptr->MapCode; get_ui_rank_manager_ptr_()->UpdateReceiveData(current_select_ranking_type_, mission_number_, 0); } else // Ãʱ⿡ °á»êÀÏÀ» ¿äûÇϱâ À§Çؼ­ { if ( Is_setting_finish_day_ == false ) { // ¿©±â¿¡¼­ ÆÐŶÀ» º¸³»´Â ±¸¹®ÀÌ ÇÊ¿äÇÔ. mission_number_ = 0; // °á»êÀÏ ¿äû get_ui_rank_manager_ptr_()->Send_CG_MISSION_RANKING_SETTLEDDATE_INFO_SYN(); } } UpdatePageText(); } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::UpdateRankList() { if ( !_isEnable() ) return; bool Is_point_ranking = false; #if defined(_NA_006802_20130819_REORGANIZATION_RANK_SYSTEM_MINOR) if ( current_select_ranking_type_ >= eRANKING_TYPE_POINT && current_select_ranking_type_ < eRANKING_TYPE_MAX ) { // Æ÷ÀÎÆ® ·©Å· ŸÀÔ ÀÌ»óÀÌ¸é °°Àº ·ÎÁ÷À» »ç¿ëÇϱ⠶§¹®¿¡ bPointRankingÀ¸·Î Á¦¾î ÇÑ´Ù. Is_point_ranking = true; } else if ( current_select_ranking_type_ <= eRANKING_TYPE_TIME_ATTACK && current_select_ranking_type_ > eRANKING_TYPE_NONE ) { } else { // ¿©±â¿¡ µé¾î¿ÀÁö ¸»¾Æ¾ß ÇÑ´Ù. return; } #else if ( current_select_ranking_type_ == eRANKING_TYPE_POINT ) { Is_point_ranking = true; } else { Is_point_ranking = false; } #endif // _NA_006802_20130819_REORGANIZATION_RANK_SYSTEM_MINOR _initRankList(); // ¸í¿¹ÀÇ Àü´ç if ( list_control_ptr_array_[MRL_LST_FAME] ) { int index_number = 0; int count_number = 0; if(get_ui_rank_manager_ptr_()->my_ranking_view_data_.iRank > 0) // µ¥ÀÌÅͰ¡ ÀÖÀ¸¸é ¸®½ºÆ®¿¡ Ãß°¡ { index_number = list_control_ptr_array_[MRL_LST_FAME]->InsertItemBack(); list_control_ptr_array_[MRL_LST_FAME]->SetItemData(index_number, &(get_ui_rank_manager_ptr_()->my_ranking_view_data_)); TCHAR szTemp[INTERFACE_STRING_LENGTH] = {0,}; DWORD dwStyle = 0; for ( count_number = 0; count_number < eFAME_LST_MAX; count_number++ ) { ZeroMemory(szTemp, sizeof(szTemp)); if ( eFAME_LST_MY_RANKING == count_number ) // ³» ¼øÀ§ { Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%-6d"), get_ui_rank_manager_ptr_()->my_ranking_view_data_.iRank); dwStyle = DT_VCENTER | DT_CENTER; } else if ( eFAME_LST_PARTY_NUM == count_number ) // ÆÄƼ¹øÈ£ or ij¸¯¸í { if(Is_point_ranking) { Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%-10s"), get_ui_rank_manager_ptr_()->my_ranking_view_data_.strName); } else { Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%-10d"), get_ui_rank_manager_ptr_()->my_ranking_view_data_.iPartyNum); } dwStyle = DT_VCENTER | DT_CENTER; } else if ( eFAME_LST_LEVEL == count_number ) // ·¹º§ { Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%-6d"), get_ui_rank_manager_ptr_()->my_ranking_view_data_.iLevel); dwStyle = DT_VCENTER | DT_CENTER; } else if ( eFAME_LST_TIME == count_number ) // ÁøÇà½Ã°£ or Æ÷ÀÎÆ® { if ( Is_point_ranking ) { Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%-10d"), get_ui_rank_manager_ptr_()->my_ranking_view_data_.dwTime); } else { util::_tstring strTime; get_ui_rank_manager_ptr_()->GetTimeString(get_ui_rank_manager_ptr_()->my_ranking_view_data_.dwTime, strTime); Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%-10s"), strTime.c_str()); } dwStyle = DT_VCENTER | DT_CENTER; } GlobalFunc::SetItem(list_control_ptr_array_[MRL_LST_FAME], index_number, count_number, szTemp, StrToWzID("m212"), dwStyle, c_ListBKColor, c_ListTextColor, c_ListSelTextColor); } } else { non_existent_my_ranking_list_control_item(); } } // À̹øÁÖ ÁÖ°£ ¼øÀ§ if ( list_control_ptr_array_[MRL_LST_WEEK] ) { int index_number = 0; int count_number = 0; DWORD dwStyle = 0; for ( int i = 0; i < MAX_WEEK_RANK; ++i ) { if(get_ui_rank_manager_ptr_()->current_week_rank_view_data_[i].iRank > 0) // µ¥ÀÌÅͰ¡ ÀÖÀ¸¸é ¸®½ºÆ®¿¡ Ãß°¡ { index_number = list_control_ptr_array_[MRL_LST_WEEK]->InsertItemBack(); list_control_ptr_array_[MRL_LST_WEEK]->SetItemData(index_number, &(get_ui_rank_manager_ptr_()->current_week_rank_view_data_[i])); TCHAR szTemp[INTERFACE_STRING_LENGTH] = {0,}; for ( count_number = 0; count_number < eWEEK_LST_MAX; count_number++ ) { ZeroMemory(szTemp, sizeof(szTemp)); if ( eWEEK_LST_RANK == count_number ) // ¼øÀ§ { Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%-4d"), get_ui_rank_manager_ptr_()->current_week_rank_view_data_[i].iRank); dwStyle = DT_VCENTER | DT_CENTER; } else if ( eWEEK_LST_PARTY_NUM == count_number ) // ÆÄƼ¹øÈ£ or ij¸¯¸í { if ( Is_point_ranking ) { Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%-10s"), get_ui_rank_manager_ptr_()->current_week_rank_view_data_[i].strName); } else { Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%-10d"), get_ui_rank_manager_ptr_()->current_week_rank_view_data_[i].iPartyNum); } dwStyle = DT_VCENTER | DT_CENTER; } else if ( eWEEK_LST_LEVEL == count_number ) // ·¹º§ { Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%-6d"), get_ui_rank_manager_ptr_()->current_week_rank_view_data_[i].iLevel); dwStyle = DT_VCENTER | DT_CENTER; } else if ( eWEEK_LST_TIME == count_number ) // ÁøÇà½Ã°£ or Æ÷ÀÎÆ® { if ( Is_point_ranking ) { Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%-10d"), get_ui_rank_manager_ptr_()->current_week_rank_view_data_[i].dwTime); } else { util::_tstring strTime; get_ui_rank_manager_ptr_()->GetTimeString(get_ui_rank_manager_ptr_()->current_week_rank_view_data_[i].dwTime, strTime); Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%-10s"), strTime.c_str()); } dwStyle = DT_VCENTER | DT_CENTER; } GlobalFunc::SetItem(list_control_ptr_array_[MRL_LST_WEEK], index_number, count_number, szTemp, StrToWzID("m212"), dwStyle, c_ListBKColor, c_ListTextColor, c_ListSelTextColor); } } } int iPage = 0; if ( index_number ) { if (index_number >= c_iDefaultRankLine ) iPage = (index_number+1)-c_iDefaultRankLine; } if ( scroll_control_ptr_array_[MRL_VSCR_WEEK] ) { int scroll_range = iPage; if ( scroll_range > c_max_scroll_range ) { scroll_range = c_max_scroll_range; } scroll_control_ptr_array_[MRL_VSCR_WEEK]->SetScrollRangeWZ(0,scroll_range); //½ºÅ©·Ñ ¹üÀ§ } } // Áö³­ÁÖ ÁÖ°£ ¼øÀ§ if ( list_control_ptr_array_[MRL_LST_PREWEEK] ) { int index_number = 0; int count_number = 0; DWORD dwStyle = 0; for ( int i = 0; i < MAX_PREWEEK_RANK; ++i ) { if(get_ui_rank_manager_ptr_()->pre_week_rank_view_data_[i].iRank > 0) // µ¥ÀÌÅͰ¡ ÀÖÀ¸¸é ¸®½ºÆ®¿¡ Ãß°¡ { index_number = list_control_ptr_array_[MRL_LST_PREWEEK]->InsertItemBack(); list_control_ptr_array_[MRL_LST_PREWEEK]->SetItemData(index_number, &(get_ui_rank_manager_ptr_()->pre_week_rank_view_data_[i])); TCHAR szTemp[INTERFACE_STRING_LENGTH] = {0,}; for ( count_number = 0; count_number < eWEEK_LST_MAX; count_number++ ) { ZeroMemory(szTemp, sizeof(szTemp)); if ( eWEEK_LST_RANK == count_number ) // ¼øÀ§ { Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%-4d"), get_ui_rank_manager_ptr_()->pre_week_rank_view_data_[i].iRank); dwStyle = DT_VCENTER | DT_CENTER; } else if ( eWEEK_LST_PARTY_NUM == count_number ) // ÆÄƼ¹øÈ£ or ij¸¯¸í { if ( Is_point_ranking ) { Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%-10s"), get_ui_rank_manager_ptr_()->pre_week_rank_view_data_[i].strName); } else { Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%-10d"), get_ui_rank_manager_ptr_()->pre_week_rank_view_data_[i].iPartyNum); } dwStyle = DT_VCENTER | DT_CENTER; } else if ( eWEEK_LST_LEVEL == count_number ) // ·¹º§ { Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%-6d"), get_ui_rank_manager_ptr_()->pre_week_rank_view_data_[i].iLevel); dwStyle = DT_VCENTER | DT_CENTER; } else if ( eWEEK_LST_TIME == count_number ) // ÁøÇà½Ã°£ or Æ÷ÀÎÆ® { if ( Is_point_ranking ) { Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%-10d"), get_ui_rank_manager_ptr_()->pre_week_rank_view_data_[i].dwTime); } else { util::_tstring strTime; get_ui_rank_manager_ptr_()->GetTimeString(get_ui_rank_manager_ptr_()->pre_week_rank_view_data_[i].dwTime, strTime); Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%-10s"), strTime.c_str()); } dwStyle = DT_VCENTER | DT_CENTER; } GlobalFunc::SetItem(list_control_ptr_array_[MRL_LST_PREWEEK], index_number, count_number, szTemp, StrToWzID("m212"), dwStyle, c_ListBKColor, c_ListTextColor, c_ListSelTextColor); } } } int iPage = 0; if ( index_number ) { if ( index_number >= c_iDefaultRankLine ) { iPage = (index_number+1)-c_iDefaultRankLine; } } // ±âÁ¸ÀÇ dialog ÅëÇÕÀ¸·Î ÀÎÇØ¼­ ÀÌÀüÁÖ ½ºÅ©·ÑÀº °øÅëÀ¸·Î »ç¿ëÇÑ´Ù. // ÀÌÀüÁִ Ư¼öÇÑ »óȲÀ̹ǷΠRange¸¦ 0À¸·Î ¼³Á¤Çϰí À§Ä¡¸¦ -1·Î ¼³Á¤ÇÑ´Ù. if ( preweek_button_control_ptr_->GetCheckState() == TRUE ) { scroll_control_ptr_array_[MRL_VSCR_WEEK]->SetScrollRangeWZ(0,0); //½ºÅ©·Ñ ¹üÀ§ scroll_control_ptr_array_[MRL_VSCR_WEEK]->SetScrollPosWZ(-1); } } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::UpdatePageText() { if ( !_isEnable() ) return; if ( text_control_ptr_array_[MRL_TXT_PAGE] ) { TCHAR message_text[INTERFACE_STRING_LENGTH] ={0,}; int page_1_number = (get_ui_rank_manager_ptr_()->m_CurRankPage * MAX_WEEK_RANK) + 1; int page_2_number = (get_ui_rank_manager_ptr_()->m_CurRankPage * MAX_WEEK_RANK) + MAX_WEEK_RANK; #ifdef _JAPAN Snprintf(message_text, INTERFACE_STRING_LENGTH-1, _T("%d - %d"), page_1_number, page_2_number); #else Snprintf(message_text, INTERFACE_STRING_LENGTH-1, _T("%d ~ %d"), page_1_number, page_2_number); #endif GlobalFunc::SetCaption( text_control_ptr_array_[MRL_TXT_PAGE], message_text); } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::UpdateMemberList() { if ( !_isEnable() ) return; // ±¸¼º¿ø Á¤º¸ if ( list_control_ptr_array_[MRL_LST_MEMBER] ) { int index_number = 0; int count_number = 0; _initMemberList(); CControlWZ* guild_level_static_control = getControl( DLGPOS_MRL_STATIC_GUILD_LEVEL ); CControlWZ* guild_static_control = getControl( DLGPOS_MRL_STATIC_GUILD ); CControlWZ* name_static_control = getControl( DLGPOS_MRL_STATIC_NAME ); GlobalFunc::SetReportButtonInfo( list_control_ptr_array_[MRL_LST_MEMBER], 0, guild_level_static_control->GetSize().right, NULL ); GlobalFunc::SetReportButtonInfo( list_control_ptr_array_[MRL_LST_MEMBER], 1, guild_static_control->GetSize().right, NULL ); GlobalFunc::SetReportButtonInfo( list_control_ptr_array_[MRL_LST_MEMBER], 2, name_static_control->GetSize().right, NULL ); for ( int i = 0; i < MAX_RANK_MEMBER; ++i ) { if ( get_ui_rank_manager_ptr_()->member_view_data_[i].iLevel > 0 ) { index_number = list_control_ptr_array_[MRL_LST_MEMBER]->InsertItemBack(); list_control_ptr_array_[MRL_LST_MEMBER]->SetItemData(index_number, &(get_ui_rank_manager_ptr_()->member_view_data_[i])); TCHAR temp_message[INTERFACE_STRING_LENGTH] = {0,}; for ( count_number = 0; count_number < eMEMBER_LST_MAX; count_number++ ) { ZeroMemory(temp_message, sizeof(temp_message)); if ( eMEMBER_LST_LEVEL == count_number ) // ·¹º§ { Snprintf(temp_message, INTERFACE_STRING_LENGTH-1, _T("%d"), get_ui_rank_manager_ptr_()->member_view_data_[i].iLevel); } else if ( eMEMBER_LST_GUILD == count_number ) // ±æµå { //Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%s"), GetManager()->m_MemberData[i].strGuild.c_str()); Snprintf(temp_message, INTERFACE_STRING_LENGTH-1, _T("%s"), get_ui_rank_manager_ptr_()->member_view_data_[i].strGuild); } else if ( eMEMBER_LST_NAME == count_number ) // À̸§ { //Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("%s"), GetManager()->m_MemberData[i].strName.c_str()); Snprintf(temp_message, INTERFACE_STRING_LENGTH-1, _T("%s"), get_ui_rank_manager_ptr_()->member_view_data_[i].strName); } GlobalFunc::SetItem(list_control_ptr_array_[MRL_LST_MEMBER], index_number, count_number, temp_message, StrToWzID("m212"), DT_VCENTER | DT_CENTER, c_ListBKColor, c_ListTextColor, c_ListSelTextColor); } } } if ( get_ui_rank_manager_ptr_()->member_view_data_[0].iLevel == 0 ) { index_number = list_control_ptr_array_[MRL_LST_MEMBER]->InsertItemBack(); list_control_ptr_array_[MRL_LST_MEMBER]->SetItemData(index_number, &(get_ui_rank_manager_ptr_()->member_view_data_[0])); TCHAR temp_message[INTERFACE_STRING_LENGTH] = {0,}; // ·¹º§ ZeroMemory(temp_message, sizeof(temp_message)); Snprintf(temp_message, INTERFACE_STRING_LENGTH-1, _T("%d"), get_ui_rank_manager_ptr_()->member_view_data_[0].iLevel); GlobalFunc::SetItem(list_control_ptr_array_[MRL_LST_MEMBER], index_number, eMEMBER_LST_LEVEL, temp_message, StrToWzID("m212"), DT_VCENTER | DT_CENTER, c_ListBKColor, c_ListTextColor, c_ListSelTextColor); // ±æµå ZeroMemory(temp_message, sizeof(temp_message)); Snprintf(temp_message, INTERFACE_STRING_LENGTH-1, _T("%s"), get_ui_rank_manager_ptr_()->member_view_data_[0].strGuild); GlobalFunc::SetItem(list_control_ptr_array_[MRL_LST_MEMBER], index_number, eMEMBER_LST_GUILD, temp_message, StrToWzID("m212"), DT_VCENTER | DT_CENTER, c_ListBKColor, c_ListTextColor, c_ListSelTextColor); // À̸§ ZeroMemory(temp_message, sizeof(temp_message)); Snprintf(temp_message, INTERFACE_STRING_LENGTH-1, _T("%s"), get_ui_rank_manager_ptr_()->member_view_data_[0].strName); GlobalFunc::SetItem(list_control_ptr_array_[MRL_LST_MEMBER], index_number, eMEMBER_LST_NAME, temp_message, StrToWzID("m212"), DT_VCENTER | DT_CENTER, c_ListBKColor, c_ListTextColor, c_ListSelTextColor); } list_control_ptr_array_[MRL_LST_MEMBER]->SetCurSel(-1); int page_number = 0; if ( index_number ) { if ( index_number >= c_iDefaultMemberLine ) { page_number = (index_number+1)-c_iDefaultMemberLine; } } if ( scroll_control_ptr_array_[MRL_VSCR_MEMBER] ) { scroll_control_ptr_array_[MRL_VSCR_MEMBER]->SetScrollRangeWZ(0,page_number); //½ºÅ©·Ñ ¹üÀ§ scroll_control_ptr_array_[MRL_VSCR_MEMBER]->SetScrollPosWZ(0); } } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::UpdateFinishDay() { if ( !_isEnable() ) return; TCHAR temp_text[INTERFACE_STRING_LENGTH] = {0,}; TCHAR message_text[INTERFACE_STRING_LENGTH] = {0,}; //9952 °á»êÀÏ: %s g_InterfaceManager.GetInterfaceString( 9952, temp_text, INTERFACE_STRING_LENGTH ); Snprintf(message_text, INTERFACE_STRING_LENGTH-1, temp_text, get_ui_rank_manager_ptr_()->finish_day_string_.c_str()); GlobalFunc::SetCaption( text_control_ptr_array_[MRL_TXT_DATE], message_text ); } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::_setTitle() { if ( get_ui_rank_manager_ptr_() ) { TCHAR message_text[INTERFACE_STRING_LENGTH] = {0,}; if ( current_select_ranking_type_ == eRANKING_TYPE_NONE ) { strcpy(message_text, "None"); int i; for ( i = 0; i <= MRL_LST_BTN_NAME3; ++i ) { if(list_button_ptr_array_[i]) { GlobalFunc::SetCaption( list_button_ptr_array_[i], message_text ); } } for ( i = MRL_LST_BTN_POINT1; i <= MRL_LST_BTN_POINT3; ++i ) { if ( list_button_ptr_array_[i] ) { GlobalFunc::SetCaption( list_button_ptr_array_[i], message_text ); } } } else if ( current_select_ranking_type_ == eRANKING_TYPE_TIME_ATTACK ) { // 9956 %s ÆÄƼ¹øÈ£ g_InterfaceManager.GetInterfaceString(9956, message_text, INTERFACE_STRING_LENGTH); int i; for ( i = 0; i <= MRL_LST_BTN_NAME3; ++i ) { if ( list_button_ptr_array_[i] ) { GlobalFunc::SetCaption( list_button_ptr_array_[i], message_text ); } } // 2740 %s ÁøÇà½Ã°£ g_InterfaceManager.GetInterfaceString( 2740, message_text, INTERFACE_STRING_LENGTH ); for ( i = MRL_LST_BTN_POINT1; i <= MRL_LST_BTN_POINT3; ++i ) { if ( list_button_ptr_array_[i] ) { GlobalFunc::SetCaption( list_button_ptr_array_[i], message_text ); } } } else if ( current_select_ranking_type_ == eRANKING_TYPE_POINT ) // Æ÷ÀÎÆ® ·©Å· { // 2739 %s ij¸¯Å͸í g_InterfaceManager.GetInterfaceString( 2739, message_text, INTERFACE_STRING_LENGTH ); int i; for ( i = 0; i <= MRL_LST_BTN_NAME3; ++i ) { if(list_button_ptr_array_[i]) { GlobalFunc::SetCaption( list_button_ptr_array_[i], message_text ); } } // 2741 %s Á¡¼ö g_InterfaceManager.GetInterfaceString( 2741, message_text, INTERFACE_STRING_LENGTH ); for ( i = MRL_LST_BTN_POINT1; i <= MRL_LST_BTN_POINT3; ++i ) { if ( list_button_ptr_array_[i] ) { GlobalFunc::SetCaption( list_button_ptr_array_[i], message_text ); } } } else if ( current_select_ranking_type_ == eRANKING_TYPE_BATTLEGROUND_WIN ) // À̽º¶óÇÊ ´ëÁö ½Â·ü { // 2739 %s ij¸¯Å͸í g_InterfaceManager.GetInterfaceString( 2739, message_text, INTERFACE_STRING_LENGTH ); int i; for ( i = 0; i <= MRL_LST_BTN_NAME3; ++i ) { if ( list_button_ptr_array_[i] ) { GlobalFunc::SetCaption( list_button_ptr_array_[i], message_text ); } } // 2742 %s ÀüÀû g_InterfaceManager.GetInterfaceString( 2742, message_text, INTERFACE_STRING_LENGTH ); for ( i = MRL_LST_BTN_POINT1; i <= MRL_LST_BTN_POINT3; ++i ) { if ( list_button_ptr_array_[i] ) { GlobalFunc::SetCaption( list_button_ptr_array_[i], message_text ); } } } else if ( current_select_ranking_type_ == eRANKING_TYPE_BATTLEGROUND_KILL ) { // 2739 %s ij¸¯Å͸í g_InterfaceManager.GetInterfaceString( 2739, message_text, INTERFACE_STRING_LENGTH ); int i; for ( i = 0; i <= MRL_LST_BTN_NAME3; ++i ) { if ( list_button_ptr_array_[i] ) { GlobalFunc::SetCaption( list_button_ptr_array_[i], message_text ); } } // 2743 %s ų g_InterfaceManager.GetInterfaceString( 2743, message_text, INTERFACE_STRING_LENGTH ); for ( i = MRL_LST_BTN_POINT1; i <= MRL_LST_BTN_POINT3; ++i ) { if ( list_button_ptr_array_[i] ) { GlobalFunc::SetCaption( list_button_ptr_array_[i], message_text ); } } } else if ( current_select_ranking_type_ == eRANKING_TYPE_BATTLEGROUND_ASSIST ) { // 2739 %s ij¸¯Å͸í g_InterfaceManager.GetInterfaceString( 2739, message_text, INTERFACE_STRING_LENGTH ); int i; for ( i = 0; i <= MRL_LST_BTN_NAME3; ++i ) { if ( list_button_ptr_array_[i] ) { GlobalFunc::SetCaption( list_button_ptr_array_[i], message_text ); } } // 2744 %s ¾î½Ã½ºÆ® g_InterfaceManager.GetInterfaceString( 2744, message_text, INTERFACE_STRING_LENGTH ); for ( i = MRL_LST_BTN_POINT1; i <= MRL_LST_BTN_POINT3; ++i ) { if ( list_button_ptr_array_[i] ) { GlobalFunc::SetCaption( list_button_ptr_array_[i], message_text ); } } } } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::all_tree_controller_reflresh() { for ( int i = 0; i < max_group_+1; ++i ) { if ( group_tree_item_[i] ) { group_tree_item_[i]->set_open(false); group_tree_item_[i]->set_select(false); } } if (tree_controller_ptr_) { tree_controller_ptr_->Reflush(); } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::rank_data_list_clear() { std::list<_stRankData*>::iterator iter = rank_data_list_.begin(); for ( ; iter != rank_data_list_.end(); ++iter ) { delete (*iter); (*iter) = NULL; } rank_data_list_.clear(); } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::group_infomation_enable( const bool& isShow ) { // ¸â¹ö â Ȱ¼ºÈ­ ºñȰ¼ºÈ­ °ü·Ã if ( isShow ) { CCtrlButtonWZ* button_control_ptr = static_cast(this->getControl(DLGPOS_MRL_STATIC_GUILD_LEVEL)); if ( button_control_ptr ) { button_control_ptr->ShowWindowWZ(WZ_SHOW); } button_control_ptr = static_cast(this->getControl(DLGPOS_MRL_STATIC_GUILD)); if ( button_control_ptr ) { button_control_ptr->ShowWindowWZ(WZ_SHOW); } button_control_ptr = static_cast(this->getControl(DLGPOS_MRL_STATIC_NAME)); if ( button_control_ptr ) { button_control_ptr->ShowWindowWZ(WZ_SHOW); } CCtrlStaticWZ* static_control_ptr = static_cast(this->getControl(DLGPOS_MRL_TXT_GROUP_INFOMATION_TITLE)); if ( static_control_ptr ) { static_control_ptr->ShowWindowWZ(WZ_SHOW); } CCtrlPictureWZ* picture_control_ptr = static_cast(this->getControl(DLGPOS_MRL_PICTURE_GROUP_INFOMATION_PICTURE)); if ( picture_control_ptr ) { picture_control_ptr->ShowWindowWZ(WZ_SHOW); } picture_control_ptr = static_cast(this->getControl(DLGPOS_MRL_PICTURE_VSCR_MEMBER_FRAME)); if ( picture_control_ptr ) { picture_control_ptr->ShowWindowWZ(WZ_SHOW); } picture_control_ptr = static_cast(this->getControl(DLGPOS_MRL_PICTURE_GROUP_INFOMATION_BACKGROUND)); if ( picture_control_ptr ) { picture_control_ptr->ShowWindowWZ(WZ_SHOW); } CCtrlVScrollWZ* vscrol_control_ptr = static_cast(this->getControl(DLGPOS_MRL_VSCR_MEMBER)); if ( vscrol_control_ptr ) { vscrol_control_ptr->ShowWindowWZ(WZ_SHOW); } } else { CCtrlButtonWZ* button_control_ptr = static_cast(this->getControl(DLGPOS_MRL_STATIC_GUILD_LEVEL)); if ( button_control_ptr ) { button_control_ptr->ShowWindowWZ(WZ_HIDE); } button_control_ptr = static_cast(this->getControl(DLGPOS_MRL_STATIC_GUILD)); if ( button_control_ptr ) { button_control_ptr->ShowWindowWZ(WZ_HIDE); } button_control_ptr = static_cast(this->getControl(DLGPOS_MRL_STATIC_NAME)); if ( button_control_ptr ) { button_control_ptr->ShowWindowWZ(WZ_HIDE); } CCtrlStaticWZ* static_control_ptr = static_cast(this->getControl(DLGPOS_MRL_TXT_GROUP_INFOMATION_TITLE)); if ( static_control_ptr ) { static_control_ptr->ShowWindowWZ(WZ_HIDE); } CCtrlPictureWZ* picture_control_ptr = static_cast(this->getControl(DLGPOS_MRL_PICTURE_GROUP_INFOMATION_PICTURE)); if ( picture_control_ptr ) { button_control_ptr->ShowWindowWZ(WZ_HIDE); } picture_control_ptr = static_cast(this->getControl(DLGPOS_MRL_PICTURE_VSCR_MEMBER_FRAME)); if ( picture_control_ptr ) { picture_control_ptr->ShowWindowWZ(WZ_HIDE); } picture_control_ptr = static_cast(this->getControl(DLGPOS_MRL_PICTURE_GROUP_INFOMATION_BACKGROUND)); if ( picture_control_ptr ) { picture_control_ptr->ShowWindowWZ(WZ_HIDE); } CCtrlVScrollWZ* vscrol_control_ptr = static_cast(this->getControl(DLGPOS_MRL_VSCR_MEMBER)); if ( vscrol_control_ptr ) { vscrol_control_ptr->ShowWindowWZ(WZ_HIDE); } } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::tree_controller_message_proc_check() { if ( get_ui_rank_manager_ptr_()->get_Is_wait_receive_packet_() == true ) { return; } if ( tree_controller_ptr_->GetSelItem() && tree_controller_ptr_->GetSelItem()->is_leaf() ) { _stRankData* user_ptr = (_stRankData*)tree_controller_ptr_->GetSelItem()->tree_data.user_data_Ptr_; if ( user_ptr && ((current_sel_mapinfo_ != user_ptr->map_info_ptr) || current_select_ranking_type_ != user_ptr->ranking_system_type )) { current_sel_mapinfo_ = user_ptr->map_info_ptr; current_select_ranking_type_ = user_ptr->ranking_system_type; _setTitle(); get_ui_rank_manager_ptr_()->fame_data_and_weeks_and_member_data_clar(); _initRankList(); _initRankListSelect(); UpdateMissionText(); if ( current_select_ranking_type_ == eRANKING_TYPE_TIME_ATTACK ) { group_infomation_enable(true); } else { group_infomation_enable(false); } } } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::list_control_ptr_array_clear() { if ( list_control_ptr_array_[MRL_LST_FAME] ) { list_control_ptr_array_[MRL_LST_FAME]->DeleteItemAll(); } if ( list_control_ptr_array_[MRL_LST_WEEK] ) { list_control_ptr_array_[MRL_LST_WEEK]->DeleteItemAll(); } if ( list_control_ptr_array_[MRL_LST_PREWEEK] ) { list_control_ptr_array_[MRL_LST_PREWEEK]->DeleteItemAll(); } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::wait_play_animation() { static FRECT img_rect = {0,}; // dialog size RECT rcDialog; GetDialogWZ()->GetDlgSize(&rcDialog); CCtrlListWZ* ui_list_control = static_cast(this->getControl(DLGPOS_MRL_LST_WEEK)); img_rect.left = static_cast(ui_list_control->GetSizeRect().left); img_rect.top = static_cast(ui_list_control->GetSizeRect().top); img_rect.right = static_cast(ui_list_control->GetSizeRect().right); img_rect.bottom = static_cast(ui_list_control->GetSizeRect().bottom); img_rect.left = img_rect.left + ((img_rect.right - img_rect.left - ANIMATION_FRAME_WIDTH) / 2) + 0.5f; img_rect.top = img_rect.top + ((img_rect.bottom - img_rect.top - ANIMATION_FRAME_HEIGHT) / 2); int frame = 30;//ÃÊ´ç ¾Ö´Ï¸ÞÀÌ¼Ç ÇÁ·¡ÀÓ int count = ((wait_animation_timer_.SpentTime() / frame) % ANIMATION_FRAME); if (get_ui_rank_manager_ptr_()->get_Is_wait_receive_packet_() == true) { g_pSunRenderer->RenderTexture(wait_texture_, img_rect.left, img_rect.top, ANIMATION_FRAME_WIDTH, ANIMATION_FRAME_HEIGHT, texture_rectangles_[count].left, texture_rectangles_[count].top, texture_rectangles_[count].right, texture_rectangles_[count].bottom); ++count; } else { //nop } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::reward_notice_play_animation() { CCtrlPictureWZ* picture_control_ptr = static_cast(this->getControl(DLGPOS_MRL_PICTURE_REWARD_YELLOW_LINE)); if ( picture_control_ptr ) { float rate = (static_cast(reward_texture_alpha_color_) / 255.0f); picture_control_ptr->SetTransprency(rate); } } //------------------------------------------------------------------------------ /** */ void uiMissionRankList2::OnRenderSolarDialog() { if (wait_animation_timer_.Check() != TIMER_STAT_NONE) { if (wait_animation_timer_.Check() == TIMER_STAT_FINISH) { wait_animation_timer_.Off(); wait_animation_timer_.On(1); } } wait_play_animation(); DWORD time = texture_timer_.SpentTime(); if (time > 20) { if (color_state_ == eCOLOR_STATE_INC) { reward_texture_alpha_color_ += 30; } if (color_state_ == eCOLOR_STATE_DEC) { reward_texture_alpha_color_ -= 30; } if (reward_texture_alpha_color_ >= 255) { reward_texture_alpha_color_ = 255; color_state_ = eCOLOR_STATE_DEC; } else if (reward_texture_alpha_color_ <= 0) { reward_texture_alpha_color_ = 0; color_state_ = eCOLOR_STATE_INC; } texture_timer_.Off(); texture_timer_.On(1); } if ( get_ui_rank_manager_ptr_()->get_Is_can_reward_() ) { reward_notice_play_animation(); } } void uiMissionRankList2::set_reward_yellow_texture_show( BOOL Is_show ) { CCtrlPictureWZ* picture_control_ptr = static_cast(this->getControl(DLGPOS_MRL_PICTURE_REWARD_YELLOW_LINE)); if ( picture_control_ptr ) { picture_control_ptr->ShowWindowWZ(Is_show ? WZ_SHOW : WZ_HIDE); } } void uiMissionRankList2::non_existent_my_ranking_list_control_item() { // ³» ·©Å· ¼øÀ§ ¾øÀ½. int index_number = 0; index_number = list_control_ptr_array_[MRL_LST_FAME]->InsertItemBack(); list_control_ptr_array_[MRL_LST_FAME]->SetItemData(index_number, &(get_ui_rank_manager_ptr_()->my_ranking_view_data_)); TCHAR temp_message[INTERFACE_STRING_LENGTH] = {0, }; ZeroMemory(temp_message, sizeof(temp_message)); // 5480 %s : ¼øÀ§¿¡ ¾øÀ½ g_InterfaceManager.GetInterfaceString(5480, temp_message, INTERFACE_STRING_LENGTH); DWORD dwStyle = 0; dwStyle = DT_VCENTER | DT_RIGHT; GlobalFunc::SetItem(list_control_ptr_array_[MRL_LST_FAME], index_number, eFAME_LST_TIME, temp_message, StrToWzID("m212"), dwStyle, c_ListBKColor, c_ListNonExistentTextColor, c_ListSelTextColor); } #endif // _NA_006802_20130704_REORGANIZATION_RANK_SYSTEM #endif // _NA_008016_20150202_OLD_RANKING_SYSTEM