#include "SunClientPrecompiledHeader.h" //------------------------------------------------------------------------------ #ifndef _NA_0_20110613_GAME_SHOP_RENEWAL //#if'N'def //------------------------------------------------------------------------------ #include "uiCashItemShopDlg.h" #include "uiCashItemShopMan/uiCashItemShopMan.h" #include "uiSystemMan/uiSystemMan.h" #include "Hero.h" #include "GlobalFunc.h" #include "GameFunc.h" #include "interfacemanager.h" #include "GameFramework.h" #include "ItemInfoParser.h" #include "Mouse.h" #include "uiToolTipMan/uiToolTipMan.h" #include "SCItemSlot.h" //------------------------------------------------------------------------------ WzID uiCashItemShopDlg::m_wzId[eDIALOG_CASH_ITEM_SHOP_DLG_MAX] = { StrToWzID("B999"), //eDIALOG_CASH_ITEM_SHOP_DLG_BTN_EXIT = 0, StrToWzID("C001"), //eDIALOG_CASH_ITEM_SHOP_DLG_CHK_CASH_ITEM, StrToWzID("C002"), //eDIALOG_CASH_ITEM_SHOP_DLG_CHK_MY_PAGE, StrToWzID("C003"), //eDIALOG_CASH_ITEM_SHOP_DLG_CHK_PACKAGE, StrToWzID("CT01"), //eDIALOG_CASH_ITEM_SHOP_DLG_CHK_MILEAGE, StrToWzID("C010"), //eDIALOG_CASH_ITEM_SHOP_DLG_CHK_TOTAL, StrToWzID("CT03"), //eDIALOG_CASH_ITEM_SHOP_DLG_CHK_PC StrToWzID("C019"), //eDIALOG_CASH_ITEM_SHOP_DLG_CHK_ARMOR, StrToWzID("C020"), //eDIALOG_CASH_ITEM_SHOP_DLG_CHK_EXTENSION, // ±â°£¿¬Àå StrToWzID("C021"), // eDIALOG_CASH_ITEM_SHOP_DLG_CHK_PP_CARD_ONLY StrToWzID("CT02"), // eDIALOG_CASH_ITEM_SHOP_DLG_CHK_BUY_WCOIN StrToWzID("C016"), //eDIALOG_CASH_ITEM_SHOP_DLG_CHK_SKIN, StrToWzID("C000"), //eDIALOG_CASH_ITEM_SHOP_DLG_CHK_CUSTOMIZE, StrToWzID("C008"), //eDIALOG_CASH_ITEM_SHOP_DLG_CHK_ITEM, StrToWzID("C009"), //eDIALOG_CASH_ITEM_SHOP_DLG_CHK_PET, StrToWzID("C004"), //eDIALOG_CASH_ITEM_SHOP_DLG_CHK_RIDER, StrToWzID("B016"), //eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY1, StrToWzID("BT02"), //eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY2, StrToWzID("B018"), //eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY3, StrToWzID("BT03"), //eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY4, StrToWzID("B020"), //eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY5, StrToWzID("BT04"), //eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY6 StrToWzID("BT00"), //eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY7, StrToWzID("BT05"), //eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY8, StrToWzID("BT01"), //eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY9, StrToWzID("BT06"), //eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY10, StrToWzID("B001"), //eDIALOG_CASH_ITEM_SHOP_DLG_IMG_ITEM1, StrToWzID("TI02"), //eDIALOG_CASH_ITEM_SHOP_DLG_IMG_ITEM2, StrToWzID("B002"), //eDIALOG_CASH_ITEM_SHOP_DLG_IMG_ITEM3, StrToWzID("TI03"), //eDIALOG_CASH_ITEM_SHOP_DLG_IMG_ITEM4, StrToWzID("B003"), //eDIALOG_CASH_ITEM_SHOP_DLG_IMG_ITEM5, StrToWzID("TI04"), //eDIALOG_CASH_ITEM_SHOP_DLG_IMG_ITEM6, StrToWzID("TI00"), //eDIALOG_CASH_ITEM_SHOP_DLG_IMG_ITEM7, StrToWzID("TI05"), //eDIALOG_CASH_ITEM_SHOP_DLG_IMG_ITEM8, StrToWzID("TI01"), //eDIALOG_CASH_ITEM_SHOP_DLG_IMG_ITEM9, StrToWzID("TI06"), //eDIALOG_CASH_ITEM_SHOP_DLG_IMG_ITEM10, StrToWzID("LS00"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_ITEM1, StrToWzID("LS09"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_ITEM2, StrToWzID("LS01"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_ITEM3, StrToWzID("LS08"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_ITEM4, StrToWzID("LS02"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_ITEM5, StrToWzID("LS07"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_ITEM6, StrToWzID("LS03"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_ITEM7, StrToWzID("LS05"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_ITEM8, StrToWzID("LS04"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_ITEM9, StrToWzID("LS06"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_ITEM10, StrToWzID("LS10"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_MEMO_ITEM1, StrToWzID("LS24"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_MEMO_ITEM2, StrToWzID("LS11"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_MEMO_ITEM3, StrToWzID("LS23"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_MEMO_ITEM4, StrToWzID("LS12"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_MEMO_ITEM5, StrToWzID("LS22"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_MEMO_ITEM6, StrToWzID("LS13"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_MEMO_ITEM7, StrToWzID("LS21"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_MEMO_ITEM8, StrToWzID("LS14"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_MEMO_ITEM9, StrToWzID("LS20"), //eDIALOG_CASH_ITEM_SHOP_DLG_LIST_MEMO_ITEM10, StrToWzID("T057"), //eDIALOG_CASH_ITEM_SHOP_DLG_TXT_MONEY, StrToWzID("BT13"), //eDIALOG_CASH_ITEM_SHOP_DLG_BTN_PREV_PAGE, StrToWzID("BT12"), //eDIALOG_CASH_ITEM_SHOP_DLG_BTN_NEXT_PAGE, StrToWzID("ST01"), //eDIALOG_CASH_ITEM_SHOP_DLG_TXT_CURR_PAGE, //À§ µðÆÄÀÎÀÌ Àû¿ëµÇ¸é UI´Â °øÅëÀ¸·Î µé¾î°£´Ù. //_NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_ µðÆÄÀÎÀ¸·Î else°æ¿ì HIDE±â´ÉÀ» ÄÒ´Ù. //....... StrToWzID("ST12"), // eDIALOG_CASH_ITEM_SHOP_DLG_STXT_TOTAL_WCOIN StrToWzID("ST21"), // eDIALOG_CASH_ITEM_SHOP_DLG_STXT_WCOINP StrToWzID("ST20"), // eDIALOG_CASH_ITEM_SHOP_DLG_STXT_WCOINC StrToWzID("ST03"), // eDIALOG_CASH_ITEM_SHOP_DLG_STXT_MILEAGE StrToWzID("ST04"), // eDIALOG_CASH_ITEM_SHOP_DLG_TXT_WCOINP StrToWzID("ST05"), // eDIALOG_CASH_ITEM_SHOP_DLG_TXT_WCOINC StrToWzID("ST02"), // eDIALOG_CASH_ITEM_SHOP_DLG_TXT_MILEGE StrToWzID("T057"), // eDIALOG_CASH_ITEM_SHOP_DLG_TXT_TOTAL_WCOIN StrToWzID("PI10"), // eDIALOG_CASH_ITEM_SHOP_DLG_IMG_WCOIN_BACK StrToWzID("PI11"), // eDIALOG_CASH_ITEM_SHOP_DLG_IMG_WCOINC_BACK StrToWzID("PI12"), // eDIALOG_CASH_ITEM_SHOP_DLG_IMG_WCOINP_BACK StrToWzID("PI13"), // eDIALOG_CASH_ITEM_SHOP_DLG_IMG_TOTAL_WCOIN_BACK StrToWzID("BT07"), // eDIALOG_CASH_ITEM_SHOP_DLG_BTN_MILEGE StrToWzID("B000"), // eDIALOG_CASH_ITEM_SHOP_DLG_BTN_SORTCLASS, StrToWzID("L001"), // eDIALOG_CASH_ITEM_SHOP_DLG_LIST_SORTCLASS, StrToWzID("S000"), // eDIALOG_CASH_ITEM_SHOP_DLG_TEXT_SORTCLASS, StrToWzID("L000"), // eDIALOG_CASH_ITEM_SHOP_DLG_LIST_SUBMENU, StrToWzID("S001"), // eDIALOG_CASH_ITEM_SHOP_DLG_TEXT_PRICE1, StrToWzID("S003"), // eDIALOG_CASH_ITEM_SHOP_DLG_TEXT_PRICE2, StrToWzID("S004"), // eDIALOG_CASH_ITEM_SHOP_DLG_TEXT_PRICE3, StrToWzID("S005"), // eDIALOG_CASH_ITEM_SHOP_DLG_TEXT_PRICE4, StrToWzID("S006"), // eDIALOG_CASH_ITEM_SHOP_DLG_TEXT_PRICE5, StrToWzID("S007"), // eDIALOG_CASH_ITEM_SHOP_DLG_TEXT_PRICE6, StrToWzID("S008"), // eDIALOG_CASH_ITEM_SHOP_DLG_TEXT_PRICE7, StrToWzID("S009"), // eDIALOG_CASH_ITEM_SHOP_DLG_TEXT_PRICE8, StrToWzID("S010"), // eDIALOG_CASH_ITEM_SHOP_DLG_TEXT_PRICE9, StrToWzID("S011"), // eDIALOG_CASH_ITEM_SHOP_DLG_TEXT_PRICE10, }; //------------------------------------------------------------------------------ //! static function void uiCashItemShopDlg::Callback_ShopIconRender(CControlWZ* control_ptr, void* parameter) { uiCashItemShopDlg* onwer = static_cast(parameter); if ((control_ptr != NULL) && (onwer != NULL)) { CASH_ITEM_IMG* item_img = (CASH_ITEM_IMG*)(control_ptr->GetUserData()); if ((item_img->pImage != NULL) && (item_img->dwIconCode > 0)) { RECT rc = control_ptr->GetSizeRect(); item_img->pImage->Render(&rc); onwer->GetManager()->renderCoverImage(*item_img, rc); } } } //------------------------------------------------------------------------------ /** */ uiCashItemShopDlg::uiCashItemShopDlg(InterfaceManager *pUIMan) : uiBase(pUIMan), m_bControlsInitialized(false) { this->m_pCashItemShopMan = static_cast(this->GetUIMan()->GetUserInterfaceManager(UIMAN_CASH_ITEM_SHOP)); assert (m_pCashItemShopMan); if (!this->m_pCashItemShopMan) { #ifdef _DEBUG uiSystemMan * pSystemMan = (uiSystemMan *)g_InterfaceManager.GetUserInterfaceManager(UIMAN_SYSTEM); if(pSystemMan) pSystemMan->Sys_VerifyLock(_T("m_pCashItemShopManÀÌ ¾ø½À´Ï´Ù.")); #endif this->ShowInterface(FALSE); return; } m_bShow = false; ZeroMemory(&m_CashItemImg, sizeof(m_CashItemImg)); m_iCurMenu = -1; m_iCurPage = -1; m_iCurIndex = -1; m_iCurSubMenu = 0; ZeroMemory(&m_ItemCodeForTooltip, sizeof(m_ItemCodeForTooltip)); } //------------------------------------------------------------------------------ /** */ uiCashItemShopDlg::~uiCashItemShopDlg() { this->Release(); } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::Init(CDrawBase* pDrawBase) { uiBase::Init(pDrawBase); this->InitControls(); } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::Release() { _removeAllIconImage(); } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::InitControls() { int i=0; for(i=0; i(getControl(eDIALOG_CASH_ITEM_SHOP_DLG_CHK_CASH_ITEM+i)); assert(m_pBtnCheckTabs[i]); } #ifdef __CHINA_BLOCK_ITEM_SHOP_PRESENT if(m_pBtnCheckTabs[eCASH_ITEM_SHOP_DLG_CHK_MY_PAGE]) { m_pBtnCheckTabs[eCASH_ITEM_SHOP_DLG_CHK_MY_PAGE]->EnableWindowWZ(FALSE); m_pBtnCheckTabs[eCASH_ITEM_SHOP_DLG_CHK_MY_PAGE]->SetCheckState(FALSE); } #endif //__CHINA_BLOCK_ITEM_SHOP_PRESENT for(i=0; i(getControl(eDIALOG_CASH_ITEM_SHOP_DLG_CHK_TOTAL+i)); assert(m_pBtnCheckMenu[i]); } #ifdef _NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_//PPÄ«µå °ü·Ã ±â´É //Àû¿ëµÇ¸é ¼û±âÁö ¾Ê´Â´Ù #else if (m_pBtnCheckMenu[eCASH_ITEM_SHOP_DLG_CHK_BUY_WCOIN]) { m_pBtnCheckMenu[eCASH_ITEM_SHOP_DLG_CHK_BUY_WCOIN]->ShowWindowWZ(WZ_HIDE); } if (m_pBtnCheckMenu[eCASH_ITEM_SHOP_DLG_CHK_PP_CARD_ONLY]) { m_pBtnCheckMenu[eCASH_ITEM_SHOP_DLG_CHK_PP_CARD_ONLY]->ShowWindowWZ(WZ_HIDE); } #endif//_NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_ for(i=0; i(getControl(eDIALOG_CASH_ITEM_SHOP_DLG_IMG_ITEM1+i)); assert(m_pImgCtrl[i]); m_pListCtrlName[i] = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_DLG_LIST_ITEM1+i)); assert(m_pListCtrlName[i]); m_pListCtrlMemo[i] = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_DLG_LIST_MEMO_ITEM1+i)); assert(m_pListCtrlMemo[i]); } m_pTxtCtrlCurPage = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_DLG_TXT_CURR_PAGE)); assert(m_pTxtCtrlCurPage); m_pTxtCtrlMoney = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_DLG_TXT_MONEY)); assert(m_pTxtCtrlMoney); m_pTxtCtrlMilege = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_DLG_TXT_MILEGE)); assert(m_pTxtCtrlMilege); this->m_bControlsInitialized = true; #ifdef _K2P_EXTENSION_BLOCK_ CCtrlButtonWZ * pExtentionBtn = (CCtrlButtonWZ *)getControl( eDIALOG_CASH_ITEM_SHOP_DLG_CHK_EXTENSION ); if( pExtentionBtn != NULL ) pExtentionBtn->ShowWindowWZ( WZ_HIDE ); #endif #ifdef __LTJ_GSP_HIDE_CASHSHOP_PCCAFE_BUTTON m_pBtnCheckMenu[eCASH_ITEM_SHOP_DLG_CHK_PC]->ShowWindowWZ( WZ_HIDE ); CCtrlPictureWZ* pPictureControl = static_cast(GetControlWZ(StrToWzID("PI01"))); if (pPictureControl) { pPictureControl->ShowWindowWZ( WZ_HIDE ); } #endif //__LTJ_GSP_HIDE_CASHSHOP_PCCAFE_BUTTON //Àû¿ëµÇ¸é ¼û±âÁö ¾Ê´Â´Ù for (i=eCASH_ITEM_SHOP_DLG_STXT_WCOINP; i(getControl(eDIALOG_CASH_ITEM_SHOP_DLG_STXT_TOTAL_WCOIN+i)); SUN_ASSERT(m_pTxtCtrlPPCards[i]); #ifdef _NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_//PPÄ«µå °ü·Ã ±â´É //Àû¿ëµÇ¸é ¼û±âÁö ¾Ê´Â´Ù #else if (m_pTxtCtrlPPCards[i]) { m_pTxtCtrlPPCards[i]->ShowWindowWZ( WZ_HIDE ); } #endif//_NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_ } for(i=0; i(getControl(eDIALOG_CASH_ITEM_SHOP_DLG_IMG_WCOIN_BACK+i)); SUN_ASSERT(m_pPICBackImg[i]); #ifdef _NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_//PPÄ«µå °ü·Ã ±â´É //Àû¿ëµÇ¸é ¼û±âÁö ¾Ê´Â´Ù #else if (m_pPICBackImg[i]) { m_pPICBackImg[i]->ShowWindowWZ( WZ_HIDE ); } #endif//_NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_ } #ifdef __NA_00387_20070605_SHOP_MILEAGE2 // ¸¶Àϸ®Áö°¡ Àû¿ëµÇ¾úÀ¸¸é º¸¿©ÁØ´Ù. if (m_pTxtCtrlPPCards[eCASH_ITEM_SHOP_DLG_STXT_MILEAGE]) { m_pTxtCtrlPPCards[eCASH_ITEM_SHOP_DLG_STXT_MILEAGE]->ShowWindowWZ( WZ_SHOW ); } if (m_pTxtCtrlPPCards[eCASH_ITEM_SHOP_DLG_TXT_MILEAGE]) { m_pTxtCtrlPPCards[eCASH_ITEM_SHOP_DLG_TXT_MILEAGE]->ShowWindowWZ( WZ_SHOW ); } if (m_pPICBackImg[eCASH_ITEM_SHOP_DLG_IMG_WCOINP_BACK]) { m_pPICBackImg[eCASH_ITEM_SHOP_DLG_IMG_WCOINP_BACK]->ShowWindowWZ( WZ_SHOW ); } #else CCtrlStaticWZ* control_txts; control_txts = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_DLG_TXT_MILEGE)); SUN_ASSERT(control_txts); if(control_txts) { control_txts->ShowWindowWZ(WZ_HIDE); } control_txts = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_DLG_STXT_MILEAGE)); SUN_ASSERT(control_txts); if(control_txts) { control_txts->ShowWindowWZ(WZ_HIDE); } CCtrlButtonWZ* icon_of_mileage = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_DLG_BTN_MILEGE)); SUN_ASSERT(icon_of_mileage); if(icon_of_mileage) { icon_of_mileage->ShowWindowWZ(WZ_HIDE); } if(m_pBtnCheckTabs[eCASH_ITEM_SHOP_DLG_CHK_MILEAGE]) { m_pBtnCheckTabs[eCASH_ITEM_SHOP_DLG_CHK_MILEAGE]->ShowWindowWZ(WZ_HIDE); } #endif//__NA_00387_20070605_SHOP_MILEAGE2 CCtrlListWZ* list_control = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_DLG_LIST_SORTCLASS)); GetManager()->FillSortCombo(list_control); if (list_control != NULL) { list_control->SetCurSel(0); OnSelectedCombo(eDIALOG_CASH_ITEM_SHOP_DLG_LIST_SORTCLASS, eDIALOG_CASH_ITEM_SHOP_DLG_TEXT_SORTCLASS, list_control->GetCurSel()); } } //------------------------------------------------------------------------------ void uiCashItemShopDlg::OnShowWindow( BOOL val ) { if (val) { //this->MoveDefaultWindowPos(); if (!this->m_bControlsInitialized) { this->ShowInterface(FALSE); return; } keyMsg msg; ZeroMemory(&msg,sizeof(msg)); msg.dwType = eDoType_dialog_cash_item_shop; msg.wParam = InterfaceManager::DIALOG_CASH_ITEM_SHOP; msg.DoSomething = GlobalFunc::DoShowWindow; g_KeyQueueManager.PushBack(msg); m_bShow = true; _prepareShow(); } else { g_KeyQueueManager.DeleteMsg(eDoType_dialog_cash_item_shop); _removeAllIconImage(); if (GetManager()) { GetManager()->set_pp_category(false); GetManager()->set_cc_category(false); GetManager()->ShowCashItemPurchaseDlg(false); } getControl(eDIALOG_CASH_ITEM_SHOP_DLG_LIST_SORTCLASS)->ShowWindowWZ(WZ_HIDE); } } //------------------------------------------------------------------------------ WORD uiCashItemShopDlg::GetFilter() { CCtrlListWZ* sort_list_control = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_DLG_LIST_SORTCLASS)); return GetManager()->GetFilter(m_iCurMenu, m_iCurSubMenu, sort_list_control); } //------------------------------------------------------------------------------ BYTE uiCashItemShopDlg::_getCategoryType(int iMenu, int iSubMenu) { switch (iMenu) { case eCASH_ITEM_SHOP_DLG_CHK_TOTAL: { return SHOP_CATEGORY_ALL; } break; case eCASH_ITEM_SHOP_DLG_CHK_ARMOR: { switch (iSubMenu) { case 0: return SHOP_CATEGORY_EQUIP_ALL; case 1: return SHOP_CATEGORY_EQUIP_HELMET; // Çï¸ä case 2: return SHOP_CATEGORY_EQUIP_ARMOR; // °©¿Ê case 3: return SHOP_CATEGORY_EQUIP_GLOVES; // Àå°© case 4: return SHOP_CATEGORY_EQUIP_PANTS; // ¹ÙÁö case 5: return SHOP_CATEGORY_EQUIP_BOOTS; // ºÎÃ÷ case 6: return SHOP_CATEGORY_EQUIP_PROTECTOR; // ÇÁ·ÎÅØÅÍ case 7: return SHOP_CATEGORY_EQUIP_BELT; // º§Æ® case 8: return SHOP_CATEGORY_EQUIP_SHIRTS; // ¼ÅÃ÷ case 9: return SHOP_CATEGORY_EQUIP_WEAPON; // ¹«±â } return SHOP_CATEGORY_EQUIP_ALL; } break; case eCASH_ITEM_SHOP_DLG_CHK_SKIN: { switch (iSubMenu) { case 0: return SHOP_CATEGORY_SKIN_ALL; case 1: return SHOP_CATEGORY_SKIN_HELMET; // Çï¸ä case 2: return SHOP_CATEGORY_SKIN_ARMOR; // °©¿Ê case 3: return SHOP_CATEGORY_SKIN_GLOVES; // Àå°© case 4: return SHOP_CATEGORY_SKIN_PENTS; // ¹ÙÁö case 5: return SHOP_CATEGORY_SKIN_BOOTS; // ºÎÃ÷ case 6: return SHOP_CATEGORY_SKIN_PROTECTOR; // ÇÁ·ÎÅØÅÍ case 7: return SHOP_CATEGORY_SKIN_BELT; // º§Æ® case 8: return SHOP_CATEGORY_SKIN_SHIRTS; // ¼ÅÃ÷ case 9: return SHOP_CATEGORY_SKIN_WEAPON; // ¹«±â } return SHOP_CATEGORY_SKIN_ALL; } break; case eCASH_ITEM_SHOP_DLG_CHK_CUSTOMIZE: { switch (iSubMenu) { case 0: return SHOP_CATEGORY_CUSTOMIZING_ALL; case 1: return SHOP_CATEGORY_CUSTOMIZING_HAIR; // ¸Ó¸® case 2: return SHOP_CATEGORY_CUSTOMIZING_FACE; // ¾ó±¼ case 3: return SHOP_CATEGORY_CUSTOMIZING_ETC; // ±âŸ } return SHOP_CATEGORY_CUSTOMIZING_ALL; } break; case eCASH_ITEM_SHOP_DLG_CHK_ITEM: { switch (iSubMenu) { case 0: return SHOP_CATEGORY_ITEM_ALL; case 1: return SHOP_CATEGORY_ITEM_LUCKY; // Çà¿î·ù case 2: return SHOP_CATEGORY_ITEM_MATERIAL; // Àç·á·ù case 3: return SHOP_CATEGORY_ITEM_GUILD; // ±æµå·ù case 4: return SHOP_CATEGORY_ITEM_TICKET; // ÀÔÀå±Ç·ù case 5: return SHOP_CATEGORY_ITEM_STRENGTHEN; // ´É·ÂÄ¡ °­È­·ù case 6: return SHOP_CATEGORY_ITEM_FUNCTIONALITY; // ±â´É¼º·ù case 7: return SHOP_CATEGORY_ITEM_CONVENIENCE; // ÆíÀǼº·ù } return SHOP_CATEGORY_ITEM_ALL; } break; case eCASH_ITEM_SHOP_DLG_CHK_PET: { switch (iSubMenu) { case 0: return SHOP_CATEGORY_PET_ALL; case 1: return SHOP_CATEGORY_PET; // »ç·á case 2: return SHOP_CATEGORY_PET_FEED; // ¸Ó¸®ÆÄÃ÷ case 3: return SHOP_CATEGORY_PET_SKIN; // ¸öÅëÆÄÃ÷ //case 4: return SHOP_CATEGORY_PET_LEGS; // ´Ù¸®ÆÄÃ÷ } return SHOP_CATEGORY_PET_ALL; } break; case eCASH_ITEM_SHOP_DLG_CHK_RIDER: { switch (iSubMenu) { case 0: return SHOP_CATEGORY_VEHICLE_ALL; case 1: return SHOP_CATEGORY_VEHICLE; // Å»°Í case 2: return SHOP_CATEGORY_VEHICLE_HEAD; // ¸Ó¸®ÆÄÃ÷ case 3: return SHOP_CATEGORY_VEHICLE_BODY; // ¸öÅëÆÄÃ÷ case 4: return SHOP_CATEGORY_VEHICLE_LEGS; // ´Ù¸®ÆÄÃ÷ } return SHOP_CATEGORY_VEHICLE_ALL; } break; case eCASH_ITEM_SHOP_DLG_CHK_PC: { return SHOP_CATEGORY_PCROOM; } break; case eCASH_ITEM_SHOP_DLG_CHK_EXTENSION: { return SHOP_CATEGORY_PERIOD_EXTEND; } break; #ifdef _NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_ case eCASH_ITEM_SHOP_DLG_CHK_PP_CARD_ONLY: { return SHOP_CATEGORY_PPCASH; } break; #endif//_NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_ } return SHOP_CATEGORY_ALL; } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::_setMenu(int iMenu, int iSubMenu, bool force_change) { //------------------------------------------------------------------------------ //! if ((m_iCurMenu == iMenu) && (m_iCurSubMenu == iSubMenu) && (force_change == false)) { return; } BYTE byCategory = _getCategoryType(iMenu, iSubMenu); CCtrlListWZ* list_control = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_DLG_LIST_SUBMENU)); if (list_control != NULL) { list_control->SetCurSel(iSubMenu); } if(byCategory == SHOP_CATEGORY_PERIOD_EXTEND) { GetManager()->OnClickExtensionButton(m_iCurPage); } else { m_iCurMenu = iMenu; m_iCurSubMenu = iSubMenu; m_iCurPage = 0; m_iCurIndex = 0; WORD filter = GetFilter(); _updateMenu(); GetManager()->Send_CG_SHOP_ITEM_LIST_REQ_SYN(SHOP_PARTITION_SINGLEITEM, byCategory, filter, m_iCurPage); } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::_updateMenu() { for(int i = 0; i < eCASH_ITEM_SHOP_DLG_CHK_MENU_MAX; ++i) { if (m_pBtnCheckMenu[i] != NULL) { m_pBtnCheckMenu[i]->SetCheckState(false); } } if(m_pBtnCheckMenu[m_iCurMenu] != NULL) { m_pBtnCheckMenu[m_iCurMenu]->SetCheckState(true); } int start_sub_menu = 0; int end_sub_menu = -1; if (m_iCurMenu == eDIALOG_CASH_ITEM_SHOP_DLG_CHK_TOTAL - eDIALOG_CASH_ITEM_SHOP_DLG_CHK_TOTAL) { start_sub_menu = uiCashItemShopMan::kShopStringCode_AllItem; end_sub_menu = uiCashItemShopMan::kShopStringCode_Armor - 1; } else if (m_iCurMenu == eDIALOG_CASH_ITEM_SHOP_DLG_CHK_ARMOR - eDIALOG_CASH_ITEM_SHOP_DLG_CHK_TOTAL) { //! Àåºñ start_sub_menu = uiCashItemShopMan::kShopStringCode_Armor; end_sub_menu = uiCashItemShopMan::kShopStringCode_Skin - 1; } else if (m_iCurMenu == eDIALOG_CASH_ITEM_SHOP_DLG_CHK_SKIN - eDIALOG_CASH_ITEM_SHOP_DLG_CHK_TOTAL) { //! ½ºÅ² start_sub_menu = uiCashItemShopMan::kShopStringCode_Skin; end_sub_menu = uiCashItemShopMan::kShopStringCode_Customize - 1; } else if (m_iCurMenu == eDIALOG_CASH_ITEM_SHOP_DLG_CHK_CUSTOMIZE - eDIALOG_CASH_ITEM_SHOP_DLG_CHK_TOTAL) { //! Ä¿½ºÅ͸¶ÀÌ¡ start_sub_menu = uiCashItemShopMan::kShopStringCode_Customize; end_sub_menu = uiCashItemShopMan::kShopStringCode_Item - 1; } else if (m_iCurMenu == eDIALOG_CASH_ITEM_SHOP_DLG_CHK_ITEM - eDIALOG_CASH_ITEM_SHOP_DLG_CHK_TOTAL) { //! ¾ÆÀÌÅÛ start_sub_menu = uiCashItemShopMan::kShopStringCode_Item; end_sub_menu = uiCashItemShopMan::kShopStringCode_Pet - 1; } else if (m_iCurMenu == eDIALOG_CASH_ITEM_SHOP_DLG_CHK_PET - eDIALOG_CASH_ITEM_SHOP_DLG_CHK_TOTAL) { //! Æê start_sub_menu = uiCashItemShopMan::kShopStringCode_Pet; end_sub_menu = uiCashItemShopMan::kShopStringCode_Rider - 1; } else if (m_iCurMenu == eDIALOG_CASH_ITEM_SHOP_DLG_CHK_RIDER - eDIALOG_CASH_ITEM_SHOP_DLG_CHK_TOTAL) { //! Å»°Í start_sub_menu = uiCashItemShopMan::kShopStringCode_Rider; end_sub_menu = uiCashItemShopMan::kShopStringCode_Filter_Cash - 1; } GetManager()->FillSubMenu(static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_DLG_LIST_SUBMENU)), start_sub_menu, end_sub_menu); CControlWZ* picture_control = getControl(eDIALOG_CASH_ITEM_SHOP_DLG_IMG_WCOIN_BACK); if (picture_control != NULL) { picture_control->ShowWindowWZ((end_sub_menu != -1) ? WZ_SHOW : WZ_HIDE); } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::_setIndex(int iIndex) { m_iCurIndex = iIndex; // ÇØ´ç ¾ÆÀÌÅÛ °¡°Ý Á¤º¸°¡ ÀÖÀ¸¸é Show, ¾øÀ¸¸é ÇÁ·ÎÅäÄÝ ¿äû if(GetManager()->m_stCashItemInfo[m_iCurIndex].stPrice[0].priceGuid > 0) GetManager()->ShowCashItemShopBuy(m_iCurIndex); else GetManager()->Send_CG_SHOP_ITEM_REQ_SYN(m_iCurIndex); } //------------------------------------------------------------------------------ /** ¾ÆÀÌÅÛ ÆäÀÌÁö º¯°æ °ü·Ã */ void uiCashItemShopDlg::_setPage(int iPage) { if(m_iCurPage == iPage) return; //m_iCurPage = iPage; BYTE byCategory = _getCategoryType(m_iCurMenu, m_iCurSubMenu); m_iCurIndex = 0; WORD filter = GetFilter(); GetManager()->Send_CG_SHOP_ITEM_LIST_REQ_SYN(SHOP_PARTITION_SINGLEITEM, byCategory, filter, iPage); } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::_prepareShow() { if (!_isEnable()) return; GetManager()->PrepareShow(eCashItemShopDlgState_CashShop); ZeroMemory(&m_ItemCodeForTooltip, sizeof(m_ItemCodeForTooltip)); _clearAllItem(); m_iCurMenu = -1; m_iCurPage = -1; m_iCurIndex = -1; _setMenu(eCASH_ITEM_SHOP_DLG_CHK_TOTAL); } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::SetCurMoney( void ) { MONEY totalmoney = 0; CASH normalcash = GetManager()->GetMyCash(); CASH ppcardcash = GetManager()->GetPPCash(); GlobalFunc::SetMoneyText(m_pTxtCtrlPPCards[eCASH_ITEM_SHOP_DLG_TXT_WCOINP], ppcardcash, CASH_ITEM_SHOP_DEFAULT); GlobalFunc::SetMoneyText(m_pTxtCtrlPPCards[eCASH_ITEM_SHOP_DLG_TXT_WCOINC], normalcash, CASH_ITEM_SHOP_DEFAULT); totalmoney = static_cast(normalcash) + ppcardcash; GlobalFunc::SetMoneyText(m_pTxtCtrlMilege, GetManager()->GetMyMileage(), CASH_ITEM_SHOP_MILEAGE); if (LOGINPARAM->IsLiveTestServer()) //Å×¼·½ÇÇà¸ðµå { GlobalFunc::SetMoneyText(m_pTxtCtrlMoney, g_pHero->GetMoney(), CASH_ITEM_SHOP_HAIM); } else { GlobalFunc::SetMoneyText(m_pTxtCtrlMoney, totalmoney, CASH_ITEM_SHOP_DEFAULT); } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::RefreshItemPrice() { #ifdef _DEBUG TCHAR szDebug[INTERFACE_STRING_LENGTH] = {0,}; Snprintf(szDebug, INTERFACE_STRING_LENGTH-1, _T("Category[%d], Page[%d], Index[%d] \n"), m_iCurMenu, m_iCurPage, m_iCurIndex); OutputDebugString(szDebug); #endif } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::RefreshSingleItemList() { #ifdef _DEBUG TCHAR szDebug[INTERFACE_STRING_LENGTH] = {0,}; Snprintf(szDebug, INTERFACE_STRING_LENGTH-1, _T("RefreshList[%d] %d Page\n"), m_iCurMenu, m_iCurPage); OutputDebugString(szDebug); #endif _clearAllItem(); SetCurPage(); SetCurMoney(); } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::_clearItem(int index) { this->_removeIconImage(index); if(m_pListCtrlName[index]) { m_pListCtrlName[index]->SetUseReport(false); m_pListCtrlName[index]->DeleteItemAll(); } if(m_pListCtrlMemo[index]) { m_pListCtrlMemo[index]->SetUseReport(false); m_pListCtrlMemo[index]->DeleteItemAll(); } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::_clearAllItem() { for(int i=0; iGetItemInfo( itemCode ); if( pItemInfo == NULL ) return; m_CashItemImg[index].type = GetManager()->m_stCashItemInfo[index].byRank; _addIconImage(index, pItemInfo->m_wVICode, itemCode); TCHAR szMessage[INTERFACE_STRING_LENGTH] = {0,}; TCHAR szTemp[INTERFACE_STRING_LENGTH] = {0,}; TCHAR szTemp2[INTERFACE_STRING_LENGTH] = {0,}; TCHAR szTemp3[INTERFACE_STRING_LENGTH] = {0,}; // ¾ÆÀÌÅÛ À̸§ g_InterfaceManager.GetItemName(itemCode, szMessage, INTERFACE_STRING_LENGTH); if(GetManager()->m_stCashItemInfo[index].byEnchant) { Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("+%d"), GetManager()->m_stCashItemInfo[index].byEnchant); _tcscat(szMessage, szTemp); } // ij½Ã¼¥¾ÆÀÌÅÛÀÇ Rank °ªÀ» ¿ëµµ º¯°æÇÏ¿© Rank¸¦ Ãâ·Â ÇÏÁö ¾Êµµ·Ï ¼öÁ¤ // ÀÌÀüºÎÅÍ RankÀÚü´Â »ç¿ëµÇ°í ÀÖÁö ¾Ê¾ÒÀ½. //if( (pItemInfo->m_wSubType != eITEMSUBTYPE_FATE) && pItemInfo->CanRankUpItem()) //{ // int iRankIndex = eST_RANK_E_STRING_INDEX + (GetManager()->m_stCashItemInfo[index].byRank); // if (iRankIndex > eST_RANK_PS_STRING_INDEX) // iRankIndex = eST_RANK_PS_STRING_INDEX; // if (iRankIndex < eST_RANK_E_STRING_INDEX) // iRankIndex = eST_RANK_E_STRING_INDEX; // ZeroMemory(szTemp, sizeof(szTemp)); // ZeroMemory(szTemp2, sizeof(szTemp2)); // ZeroMemory(szTemp3, sizeof(szTemp3)); // g_InterfaceManager.GetInterfaceString(eST_RANK_STRING_INDEX,szTemp,INTERFACE_STRING_LENGTH); // g_InterfaceManager.GetInterfaceString(iRankIndex,szTemp2,INTERFACE_STRING_LENGTH); // Snprintf(szTemp3,INTERFACE_STRING_LENGTH-1, szTemp, szTemp2); // _tcscat(szMessage, _T(" ")); // _tcscat(szMessage, szTemp3); //} m_pListCtrlName[index]->DeleteItemAll(); m_pListCtrlName[index]->SetColorSelBar(c_CashItemShopListSelBarColor); m_pListCtrlName[index]->SetUseReport(false); if( pItemInfo->m_NCode != 0 ) { #ifdef _GS_MOD_GSP_ITEMSHOP_TXT //step:À̸§±×¸±¿µ¿ª¿¡ ³»¿ëÀ» º¤ÅÍ¿¡ ´ã¾Æ³½´Ù. RECT rcName = m_pListCtrlName[index]->GetSizeRect(); std::vector vecItemName; GlobalFunc::ProcessWordWrapByFontSize( &vecItemName, szMessage, c_wiCashItemShopFont, _tcslen(szMessage), rcName.right - rcName.left - 5 ); //step1:³ª´¶°¹¼ö¸¸Å­ ¸®½ºÆ®¿¡ Â÷°î³Ö¾îÁØ´Ù. for (size_t i=0; iInsertItemBack(); TCHAR *pStr = const_cast(vecItemName[i].c_str()); GlobalFunc::SetItem( m_pListCtrlName[index], idx, 0, pStr, c_wiCashItemShopFont, DT_VCENTER | DT_LEFT, c_CashItemShopListBKColor, c_CashItemShopListNameColor, c_CashItemShopListNameColor); } #else int idx = m_pListCtrlName[index]->InsertItemBack(); GlobalFunc::SetItem( m_pListCtrlName[index], idx, 0, szMessage, c_wiCashItemShopFont, DT_VCENTER | DT_LEFT, c_CashItemShopListBKColor, c_CashItemShopListNameColor, c_CashItemShopListNameColor); #endif//_GS_MOD_GSP_ITEMSHOP_TXT } // °£´Ü ¼³¸í ZeroMemory(szMessage, sizeof(szMessage)); if(pItemInfo->m_TDNCode) { SCItemSlot item_slot; item_slot.SetCode(static_cast(itemCode)); GameFunc::GetItemDescription(szMessage, &item_slot, pItemInfo); if(m_pListCtrlMemo[index]) { std::vector vstrMsg; vstrMsg.clear(); if(!_tcslen(szMessage)) return; RECT rc = m_pListCtrlMemo[index]->GetSizeRect(); #ifdef __LTJ_TEXT_OUTPUT_AT_LIST_MOD int iListWidth = rc.right - rc.left - 20; #else int iListWidth = rc.right - rc.left - 10; #endif GlobalFunc::ProcessWordWrapByFontSize( &vstrMsg, szMessage, c_wiCashItemShopFont, _tcslen(szMessage), iListWidth ); m_pListCtrlMemo[index]->DeleteItemAll(); m_pListCtrlMemo[index]->SetColorSelBar(c_CashItemShopListSelBarColor); m_pListCtrlMemo[index]->SetUseReport(false); int iListIndex = -1; #ifdef _GS_MOD_GSP_ITEMSHOP_TXT size_t nColume = 0; //¸®½ºÆ®¿¡ µé¾î°¥¸Þ½ÃÁö°¹¼ö(col) BOOL bOverMsg= FALSE; //¸Þ½ÃÁö°¡ ³Ñ¾î°¡´ÂÁö flag int nDotSize= 0; for (size_t i=0; iGetFontID()); nColume = (m_pListCtrlMemo[index]->GetSize().bottom)/(nHeight); if(vstrMsg.size()>1 && vstrMsg.size()>nColume) { bOverMsg = TRUE; nDotSize = GlobalFunc::GetTextWidth(_T("..."), m_pListCtrlMemo[index]->GetFontID()); } } iListIndex = m_pListCtrlMemo[index]->InsertItemBack(); TCHAR *pStr = const_cast(vstrMsg[i].c_str()); //STEP2:¸¸¾à ±æ´Ù¸é ¸®½ºÆ® ³¡ÁÙ¿¡ ÀÖ´Â ÅØ½ºÆ®¿¡ (...)ºÙ¿©ÁØ´Ù..±×¸®°í ¸®ÅÏÇØ¹ö¸°´Ù. if(bOverMsg) { if(i!=0 && (i+1)==nColume) { std::vector vstr; //1.ÇöÀç ÅØ½ºÆ®ÀÇ »çÀÌÁ üũ int nWidth = GlobalFunc::GetTextWidth(pStr, m_pListCtrlMemo[index]->GetFontID()); //2.ÇöÀçÅØ½ºÆ®»çÀÌÁî¿¡¼­ ...»çÀÌÁŭ Àç¼­ Â¥¸¥´Ù. GlobalFunc::ProcessWordWrapByFontSize( &vstr, pStr, m_pListCtrlMemo[index]->GetFontID(), _tcslen(pStr) , nWidth-nDotSize ); //3.Â¥¸¥´ÙÀ½ ...À» ´Ù½Ã ºÙ¿©ÁØ´Ù. vstr[0]+=_T("..."); pStr = const_cast(vstr[0].c_str()); GlobalFunc::SetItem( m_pListCtrlMemo[index], iListIndex, 0, pStr, c_wiCashItemShopFont, DT_VCENTER | DT_LEFT, c_CashItemShopListBKColor, c_CashItemShopListTextColor, c_CashItemShopListTextColor); return; } } //STEP3:±×¸°´Ù. GlobalFunc::SetItem( m_pListCtrlMemo[index], iListIndex, 0, pStr, c_wiCashItemShopFont, DT_VCENTER | DT_LEFT, c_CashItemShopListBKColor, c_CashItemShopListTextColor, c_CashItemShopListTextColor); } #else for (size_t i=0; iInsertItemBack(); TCHAR *pStr = const_cast(vstrMsg[i].c_str()); GlobalFunc::SetItem( m_pListCtrlMemo[index], iListIndex, 0, pStr, c_wiCashItemShopFont, DT_VCENTER | DT_LEFT, c_CashItemShopListBKColor, c_CashItemShopListTextColor, c_CashItemShopListTextColor); } #endif//_GS_GSP_ITEMSHOP_MEMO_TXT } } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::_addIconImage(int iIndex, DWORD dwCode, CODETYPE itemCode) { m_CashItemImg[iIndex].dwIconCode = dwCode; m_CashItemImg[iIndex].itemCode = itemCode; _removeIconImage(iIndex); if (dwCode != 0) { m_CashItemImg[iIndex].pImage = ICONMGR()->Add(dwCode); } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::_removeIconImage(int iIndex) { if(m_CashItemImg[iIndex].pImage) { ICONMGR()->RemoveIcon(m_CashItemImg[iIndex].pImage); ZeroMemory(&(m_CashItemImg[iIndex]), sizeof(m_CashItemImg[iIndex])); } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::_removeAllIconImage() { for(int i=0; iIsNet()) { if (this->IsLock()) return FALSE; if(!g_pHero) return FALSE; if(g_pHero && g_pHero->IsShowFullMap()) return FALSE; if(!GetManager()) return FALSE; return TRUE; } else { return TRUE; } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::MessageProc( SI_MESSAGE * pMessage ) { if (!_isEnable()) return; switch (pMessage->eResultMsg) { case RT_MSG_LBUTTONCLICK: { int iCtrlID = getCtrlIDToPos( pMessage->dwCtrlID ); switch( iCtrlID ) { case eDIALOG_CASH_ITEM_SHOP_DLG_BTN_EXIT: { m_bShow = false; } break; case eDIALOG_CASH_ITEM_SHOP_DLG_CHK_MY_PAGE: { GetManager()->ShowCashItemShopPresentDlg(true); } break; case eDIALOG_CASH_ITEM_SHOP_DLG_CHK_PACKAGE: { GetManager()->ShowCashItemShopPackageDlg(true); } break; #ifdef __NA_00387_20070605_SHOP_MILEAGE2 case eDIALOG_CASH_ITEM_SHOP_DLG_CHK_MILEAGE: { GetManager()->ShowCashItemShopMileageDlg(true); } break; #endif // __NA_00387_20070605_SHOP_MILEAGE2 case eDIALOG_CASH_ITEM_SHOP_DLG_BTN_PREV_PAGE: { int iPage = m_iCurPage; if( iPage > 0) { iPage--; _setPage(iPage); } } break; case eDIALOG_CASH_ITEM_SHOP_DLG_BTN_NEXT_PAGE: { _setPage(m_iCurPage + 1); } break; #ifdef _NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_ case eDIALOG_CASH_ITEM_SHOP_DLG_CHK_BUY_WCOIN: { GetManager()->ExecBuyWCoin(); } break; #endif//_NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_ case eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY1: case eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY2: case eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY3: case eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY4: case eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY5: case eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY6: case eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY7: case eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY8: case eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY9: case eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY10: { int iIndex = iCtrlID - eDIALOG_CASH_ITEM_SHOP_DLG_BTN_BUY1; if(GetManager()->m_stCashItemInfo[iIndex].dwItemCode > 0) { GetManager()->SelectBuyItem(iIndex); } } break; case eDIALOG_CASH_ITEM_SHOP_DLG_LIST_SUBMENU: { CCtrlListWZ* list_control = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_DLG_LIST_SUBMENU)); int index = list_control->GetCurSel(); if (index >= 0) { _setMenu(m_iCurMenu, index); } } break; case eDIALOG_CASH_ITEM_SHOP_DLG_CHK_TOTAL: case eDIALOG_CASH_ITEM_SHOP_DLG_CHK_SKIN: case eDIALOG_CASH_ITEM_SHOP_DLG_CHK_CUSTOMIZE: case eDIALOG_CASH_ITEM_SHOP_DLG_CHK_ITEM: case eDIALOG_CASH_ITEM_SHOP_DLG_CHK_PET: case eDIALOG_CASH_ITEM_SHOP_DLG_CHK_RIDER: case eDIALOG_CASH_ITEM_SHOP_DLG_CHK_PC: case eDIALOG_CASH_ITEM_SHOP_DLG_CHK_ARMOR: case eDIALOG_CASH_ITEM_SHOP_DLG_CHK_EXTENSION: #ifdef _NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_ case eDIALOG_CASH_ITEM_SHOP_DLG_CHK_PP_CARD_ONLY: #endif//_NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_ { int clickmemu = iCtrlID - eDIALOG_CASH_ITEM_SHOP_DLG_CHK_TOTAL; this->_setMenu(clickmemu); if (GetManager()) { if (clickmemu == eCASH_ITEM_SHOP_DLG_CHK_PP_CARD_ONLY) { GetManager()->set_pp_category(true); GetManager()->set_cc_category(false); } else if(clickmemu == eCASH_ITEM_SHOP_DLG_CHK_PC) { GetManager()->set_cc_category(true); GetManager()->set_pp_category(false); } else if(clickmemu == eCASH_ITEM_SHOP_DLG_CHK_EXTENSION) { //extensionÀÏ °æ¿ì´Â pp category¸¦ º¯°æÇÏÁö ¾Ê´Â´Ù. } else { GetManager()->set_cc_category(false); GetManager()->set_pp_category(false); } GetManager()->ShowCashItemPurchaseDlg(false); } } break; case eDIALOG_CASH_ITEM_SHOP_DLG_BTN_SORTCLASS: case eDIALOG_CASH_ITEM_SHOP_DLG_LIST_SORTCLASS: OnClickCombo(static_cast(iCtrlID)); break; } } break; default: { SolarDialog::MessageProc( pMessage ); } break; } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::OnUpdateSolarDialog() { if(!m_bShow) this->ShowInterface(FALSE); if (!_isEnable()) return; if(m_pBtnCheckTabs[eCASH_ITEM_SHOP_DLG_CHK_CASH_ITEM]) m_pBtnCheckTabs[eCASH_ITEM_SHOP_DLG_CHK_CASH_ITEM]->SetCheckState(true); if(m_pBtnCheckTabs[eCASH_ITEM_SHOP_DLG_CHK_MY_PAGE]) m_pBtnCheckTabs[eCASH_ITEM_SHOP_DLG_CHK_MY_PAGE]->SetCheckState(false); if(m_pBtnCheckTabs[eCASH_ITEM_SHOP_DLG_CHK_PACKAGE]) m_pBtnCheckTabs[eCASH_ITEM_SHOP_DLG_CHK_PACKAGE]->SetCheckState(false); #ifdef __NA_00387_20070605_SHOP_MILEAGE2 if(m_pBtnCheckTabs[eCASH_ITEM_SHOP_DLG_CHK_MILEAGE]) m_pBtnCheckTabs[eCASH_ITEM_SHOP_DLG_CHK_MILEAGE]->SetCheckState(false); #endif // __NA_00387_20070605_SHOP_MILEAGE2 _updateMenu(); } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::OnRenderSolarDialog() { if (!_isEnable()) return; _renderIconImage(); _renderTooltip(); } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::_renderIconImage() { for(int i = 0; i < eCASH_ITEM_SHOP_DLG_ITEM_MAX; ++i) { if(m_pImgCtrl[i] != NULL) { m_pImgCtrl[i]->SetUserData((DWORD)&(m_CashItemImg[i])); m_pImgCtrl[i]->SetCallbackDraw(uiCashItemShopDlg::Callback_ShopIconRender, this); } } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopDlg::_renderTooltip() { #ifdef __CN_0_20070507_SHOP_MILEAGE uiToolTipMan* pUIMan = (uiToolTipMan*)g_InterfaceManager.GetUserInterfaceManager(UIMAN_TOOLTIP); if(pUIMan) { // 155387 ÇØ¹æ±ºÀÇ ÈÆÀå // ÀÏ´Ü ¿¹¿Ü»óȲÀÌ Çϳª¶ó¼­ ÀÏ´Ü ÇϵåÄÚµù Çϳª ´õ ´Ã¾î³ª¸é ¸ðµâÈ­ ÇÊ¿äÇØ¿¬ if(this->m_ItemCodeForTooltip.dwItemCode == 155387) { pUIMan->RegisterTooltipWithStringCode(m_ItemCodeForTooltip.dwItemCode); pUIMan->SetTooltipDialogID(GetDialogKey()); } else if(this->m_ItemCodeForTooltip.dwItemCode > 0) { pUIMan->RegisterTooltipItemForCashShop(m_ItemCodeForTooltip.dwItemCode, m_ItemCodeForTooltip.dwCoolTime, m_ItemCodeForTooltip.SellEndDate, m_ItemCodeForTooltip.byEnchant, m_ItemCodeForTooltip.byRank); pUIMan->SetTooltipDialogID(GetDialogKey()); } } #else // __CN_0_20070507_SHOP_MILEAGE if(this->m_ItemCodeForTooltip.dwItemCode > 0) { uiToolTipMan* pUIMan = (uiToolTipMan*)g_InterfaceManager.GetUserInterfaceManager(UIMAN_TOOLTIP); if(pUIMan) { pUIMan->RegisterTooltipItemForCashShop(m_ItemCodeForTooltip.dwItemCode, m_ItemCodeForTooltip.dwCoolTime, m_ItemCodeForTooltip.SellEndDate, m_ItemCodeForTooltip.byEnchant, m_ItemCodeForTooltip.byRank); pUIMan->SetTooltipDialogID(GetDialogKey()); } } #endif // __CN_0_20070507_SHOP_MILEAGE int iMouseX = Mouse::Instance()->GetMouseX(); int iMouseY = Mouse::Instance()->GetMouseY(); // ½ºÅµÃ³¸® // ÀÎÅÍÆäÀ̽º¿¡¼­ Dialog ¹ÙÅÁ¿¡¼­´Â Mouse Over°¡ ¿ÀÁö ¾Ê´Â´Ù. BOOL bMouseOver = FALSE; #ifdef __CN_0_20070507_SHOP_MILEAGE for (POSTYPE a = eDIALOG_CASH_ITEM_SHOP_DLG_IMG_ITEM1; a <= eDIALOG_CASH_ITEM_SHOP_DLG_BTN_MILEGE; a++) #else // __CN_0_20070507_SHOP_MILEAGE for (POSTYPE a = eDIALOG_CASH_ITEM_SHOP_DLG_IMG_ITEM1; a <= eDIALOG_CASH_ITEM_SHOP_DLG_IMG_ITEM10; a++) #endif // __CN_0_20070507_SHOP_MILEAGE { CControlWZ * pControl = getControl(a); if(pControl) { RECT rc = pControl->GetSizeRect(); if (rc.left <= iMouseX && rc.right >= iMouseX) { if (rc.top <= iMouseY && rc.bottom >= iMouseY) { bMouseOver = TRUE; } } } } if ( !bMouseOver ) { ZeroMemory(&m_ItemCodeForTooltip, sizeof(m_ItemCodeForTooltip)); } } //---------------------------------------------------------------------------- /** */ void uiCashItemShopDlg::MouseOver_MsgProc( SI_MESSAGE * pMessage ) { if (!_isEnable()) return; switch( pMessage->eResultMsg ) { case RT_MSG_MOUSEOVER: { POSTYPE pos = getCtrlIDToPos( pMessage->dwCtrlID ); if (pos >= eDIALOG_CASH_ITEM_SHOP_DLG_IMG_ITEM1 && pos <= eDIALOG_CASH_ITEM_SHOP_DLG_IMG_ITEM10) { int iIndex = pos - eDIALOG_CASH_ITEM_SHOP_DLG_IMG_ITEM1; if (m_CashItemImg[iIndex].pImage && m_CashItemImg[iIndex].dwIconCode) { m_ItemCodeForTooltip.dwItemCode = m_CashItemImg[iIndex].itemCode; m_ItemCodeForTooltip.dwCoolTime = GetManager()->m_stCashItemInfo[iIndex].dwCoolTime; m_ItemCodeForTooltip.SellEndDate = GetManager()->m_stCashItemInfo[iIndex].SellEndDate; m_ItemCodeForTooltip.byEnchant = GetManager()->m_stCashItemInfo[iIndex].byEnchant; m_ItemCodeForTooltip.byRank = GetManager()->m_stCashItemInfo[iIndex].byRank; } else { ZeroMemory(&m_ItemCodeForTooltip, sizeof(m_ItemCodeForTooltip)); } } #ifdef __CN_0_20070507_SHOP_MILEAGE else if(pos == eDIALOG_CASH_ITEM_SHOP_DLG_BTN_MILEGE) { // 155387 ÇØ¹æ±ºÀÇ ÈÆÀå m_ItemCodeForTooltip.dwItemCode = 155387; } #endif // __CN_0_20070507_SHOP_MILEAGE else { ZeroMemory(&m_ItemCodeForTooltip, sizeof(m_ItemCodeForTooltip)); } } break; } } //------------------------------------------------------------------------------ bool uiCashItemShopDlg::OnSelectedCombo(eDIALOG_CASH_ITEM_SHOP_DLG list_control_index, eDIALOG_CASH_ITEM_SHOP_DLG static_control_index, int selected_index) { CCtrlListWZ* list_control = static_cast(getControl(list_control_index)); CControlWZ* staticbox_control = getControl(static_control_index); if (selected_index < 0) { return false; } if ((list_control != NULL) && (staticbox_control != NULL)) { staticbox_control->SetTextWZ(""); const char* text = list_control->GetItemText(selected_index, 0); if (text != NULL) { staticbox_control->SetTextWZ((char*)text); } list_control->ShowWindowWZ(WZ_HIDE); } return true; } //------------------------------------------------------------------------------ void uiCashItemShopDlg::OnClickCombo(eDIALOG_CASH_ITEM_SHOP_DLG e) { if (e == eDIALOG_CASH_ITEM_SHOP_DLG_BTN_SORTCLASS) { CControlWZ* list_control = getControl(eDIALOG_CASH_ITEM_SHOP_DLG_LIST_SORTCLASS); if (list_control != NULL) { if (list_control->GetState() == WZ_SHOW) { list_control->ShowWindowWZ(WZ_HIDE); } else { list_control->ShowWindowWZ(WZ_SHOW); } } } else if (e == eDIALOG_CASH_ITEM_SHOP_DLG_LIST_SORTCLASS) { CCtrlListWZ* list_control = static_cast(getControl(e)); if (list_control != NULL) { if (OnSelectedCombo(e, eDIALOG_CASH_ITEM_SHOP_DLG_TEXT_SORTCLASS, list_control->GetCurSel()) == true) { _setMenu(m_iCurMenu, m_iCurSubMenu, true); } } } } //------------------------------------------------------------------------------ #endif //#ifndef _NA_0_20110613_GAME_SHOP_RENEWAL //#if'N'def //------------------------------------------------------------------------------