#include "SunClientPrecompiledHeader.h" //------------------------------------------------------------------------------ #ifndef _NA_0_20110613_GAME_SHOP_RENEWAL //#if'N'def //------------------------------------------------------------------------------ #include "uiCashItemShopBuy.h" #include "uiCashItemShopMan/uiCashItemShopMan.h" #include "uiSystemMan/uiSystemMan.h" #include "Hero.h" #include "GlobalFunc.h" #include "interfacemanager.h" #include "ItemInfoParser.h" #include "Mouse.h" #include "uiToolTipMan/uiToolTipMan.h" #include "ItemManager.h" #include "SolarDateTime.h" #include "SCItemSlot.h" #include "GameFunc.h" //------------------------------------------------------------------------------ WzID uiCashItemShopBuy::m_wzId[eDIALOG_CASH_ITEM_SHOP_BUY_MAX] = { StrToWzID("B999"), //eDIALOG_CASH_ITEM_SHOP_BUY_BTN_EXIT = 0, StrToWzID("B001"), //eDIALOG_CASH_ITEM_SHOP_BUY_IMG_ITEM, StrToWzID("LS00"), //eDIALOG_CASH_ITEM_SHOP_BUY_LST_DESC, StrToWzID("L001"), //eDIALOG_CASH_ITEM_SHOP_BUY_TIP_LST_DESC, StrToWzID("T004"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_DESC1, StrToWzID("T012"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_DESC2, StrToWzID("T008"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_DESC3, StrToWzID("T005"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_DESC4, StrToWzID("T013"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_DESC5, StrToWzID("T009"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_DESC6, StrToWzID("T006"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_DESC7, StrToWzID("T014"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_DESC8, StrToWzID("T010"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_DESC9, StrToWzID("T007"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_DESC10, StrToWzID("T015"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_DESC11, StrToWzID("T011"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_DESC12, StrToWzID("T016"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_SALE1, StrToWzID("T017"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_SALE2, StrToWzID("T018"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_SALE3, StrToWzID("T019"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_SALE4, StrToWzID("T002"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_NAME, StrToWzID("T023"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_ITEM_COST_MONEY, StrToWzID("T024"), //eDIALOG_CASH_ITEM_SHOP_BUY_TXT_MONEY, StrToWzID("C001"), //eDIALOG_CASH_ITEM_SHOP_BUY_CHK_SEL1, StrToWzID("C002"), //eDIALOG_CASH_ITEM_SHOP_BUY_CHK_SEL2, StrToWzID("CT02"), //eDIALOG_CASH_ITEM_SHOP_BUY_CHK_SEL3, StrToWzID("CT03"), //eDIALOG_CASH_ITEM_SHOP_BUY_CHK_SEL4, StrToWzID("B004"), //eDIALOG_CASH_ITEM_SHOP_BUY_BTN_GIFT, StrToWzID("B002"), //eDIALOG_CASH_ITEM_SHOP_BUY_BTN_CART, StrToWzID("B003"), //eDIALOG_CASH_ITEM_SHOP_BUY_BTN_BUY, StrToWzID("VS00"), //eDIALOG_CASH_ITEM_SHOP_BUY_VSCR }; //------------------------------------------------------------------------------ /** */ uiCashItemShopBuy::uiCashItemShopBuy(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_BuyItemImg, sizeof(m_BuyItemImg)); ZeroMemory(&m_BuyCashItemInfo, sizeof(m_BuyCashItemInfo)); ZeroMemory(&m_BuyCashItemCheckInfo, sizeof(m_BuyCashItemCheckInfo)); ZeroMemory(&m_ItemCodeForTooltip, sizeof(m_ItemCodeForTooltip)); ZeroMemory(&m_PresentItemCheckInfo, sizeof(m_PresentItemCheckInfo)); m_iSelectIndex = -1; m_iTipListCurLine = 0; } //------------------------------------------------------------------------------ /** */ uiCashItemShopBuy::~uiCashItemShopBuy() { this->Release(); } //------------------------------------------------------------------------------ /** */ void uiCashItemShopBuy::Init(CDrawBase* pDrawBase) { uiBase::Init(pDrawBase); this->InitControls(); } //------------------------------------------------------------------------------ /** */ void uiCashItemShopBuy::Release() { this->_removeIconImage(); } //------------------------------------------------------------------------------ /** */ void uiCashItemShopBuy::InitControls() { int i=0; int iCount = 0; for(i=0; i<_MAX_PRICE_INFO; ++i) { for(int k=0; k(getControl(eDIALOG_CASH_ITEM_SHOP_BUY_TXT_DESC1+iCount)); assert(m_pTxtCtrlDesc[i][k]); ++iCount; } } for(i=0; i<_MAX_PRICE_INFO; ++i) { m_pTxtCtrlSale[i] = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_BUY_TXT_SALE1+i)); assert(m_pTxtCtrlSale[i]); } for(i=0; i(getControl(eDIALOG_CASH_ITEM_SHOP_BUY_TXT_NAME+i)); assert(m_pTxtCtrl[i]); } for(i=0; i(getControl(eDIALOG_CASH_ITEM_SHOP_BUY_CHK_SEL1+i)); assert(m_pBtnCheckTabs[i]); } m_pImgCtrl = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_BUY_IMG_ITEM)); assert(m_pImgCtrl); m_pListDesc = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_BUY_LST_DESC)); assert(m_pListDesc); m_pTipListDesc = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_BUY_TIP_LST_DESC)); assert(m_pTipListDesc); m_pScroll = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_BUY_VSCR)); assert(m_pScroll); CCtrlButtonWZ *pBtn; #ifdef __CHINA_BLOCK_ITEM_SHOP_PRESENT pBtn = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_BUY_BTN_GIFT)); if(pBtn) pBtn->ShowWindowWZ(WZ_HIDE); #endif #ifdef _124_KIKI_CASH_ITEM_SHOP_CART #else pBtn = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_BUY_BTN_CART)); if(pBtn) pBtn->ShowWindowWZ(WZ_HIDE); #endif this->m_bControlsInitialized = true; } //------------------------------------------------------------------------------ /** */ void uiCashItemShopBuy::_clearItem() { this->_removeIconImage(); int i=0; for(i=0; i<_MAX_PRICE_INFO; ++i) { m_pBtnCheckTabs[i]->SetCheckState(false); } for(i=0; i<_MAX_PRICE_INFO; ++i) { for(int k=0; kSetUseReport(false); m_pListDesc->DeleteItemAll(); } if(m_pScroll) { if(m_pScroll) { m_pScroll->SetScrollRangeWZ(0,0); //½ºÅ©·Ñ ¹üÀ§ m_pScroll->SetScrollPosWZ(0); // ÇöÀç ÆäÀÌÁö } } if(m_pTipListDesc) { m_pTipListDesc->SetUseReport(false); m_pTipListDesc->DeleteItemAll(); } m_iTipListCurLine = 0; ZeroMemory(&m_BuyCashItemCheckInfo, sizeof(m_BuyCashItemCheckInfo)); ZeroMemory(&m_PresentItemCheckInfo, sizeof(m_PresentItemCheckInfo)); m_iSelectIndex = -1; } //------------------------------------------------------------------------------ /** */ void uiCashItemShopBuy::_setItem() { BASE_ITEMINFO * pItemInfo = ItemInfoParser::Instance()->GetItemInfo( m_BuyCashItemInfo.dwItemCode ); if ( !pItemInfo ) { return; } 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(m_BuyCashItemInfo.dwItemCode, szMessage, INTERFACE_STRING_LENGTH); if(m_BuyCashItemInfo.byEnchant) { Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("+%d"), m_BuyCashItemInfo.byEnchant); _tcscat(szMessage, szTemp); } // ij½Ã¼¥¾ÆÀÌÅÛÀÇ Rank °ªÀ» ¿ëµµ º¯°æÇÏ¿© Rank¸¦ Ãâ·Â ÇÏÁö ¾Êµµ·Ï ¼öÁ¤ // ÀÌÀüºÎÅÍ RankÀÚü´Â »ç¿ëµÇ°í ÀÖÁö ¾Ê¾ÒÀ½. //if(pItemInfo->CanRankUpItem()) //{ // int iRankIndex = eST_RANK_E_STRING_INDEX + (m_BuyCashItemInfo.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); //} GlobalFunc::SetCaption(m_pTxtCtrl[eCASH_ITEM_SHOP_BUY_TXT_NAME], szMessage); // ¾ÆÀÌÅÛ À̸§ // °£´Ü ¼³¸í ZeroMemory(szMessage, sizeof(szMessage)); if(pItemInfo->m_TDNCode) { GameFunc::GetItemDescription(szMessage, NULL, pItemInfo); if(m_pListDesc) { std::vector vstrMsg; vstrMsg.clear(); if(!_tcslen(szMessage)) return; RECT rc = m_pListDesc->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_pListDesc->DeleteItemAll(); m_pListDesc->SetColorSelBar(c_CashItemShopListSelBarColor); m_pListDesc->SetUseReport(false); int iListIndex = -1; for (size_t i=0; iInsertItemBack(); TCHAR *pStr = const_cast(vstrMsg[i].c_str()); GlobalFunc::SetItem( m_pListDesc, iListIndex, 0, pStr, c_wiCashItemShopFont, DT_VCENTER | DT_LEFT, c_CashItemShopListBKColor, c_CashItemShopListTextColor, c_CashItemShopListSelTextColor); } } } GetManager()->SetItemTipListDesc(pItemInfo, m_pTipListDesc, m_iTipListCurLine, m_BuyCashItemInfo.dwCoolTime); if(m_pScroll) { m_pScroll->SetScrollRangeWZ( 0, m_pTipListDesc->GetListRowCnt() ); // ½ºÅ©·Ñ ¹üÀ§ m_pScroll->SetScrollPosWZ( m_iTipListCurLine ); // ÇöÀç ¶óÀÎ À§Ä¡ } m_BuyItemImg.type = m_BuyCashItemInfo.byRank; _addIconImage(pItemInfo->m_wVICode, m_BuyCashItemInfo.dwItemCode); int day = 0; int hour = 0; int min = 0; for(int i=0; i<_MAX_PRICE_INFO; ++i) { if(m_BuyCashItemInfo.stPrice[i].dwUseTime) // %d ÀÏ { ZeroMemory(szMessage, sizeof(szMessage)); GlobalFunc::CalcTime(m_BuyCashItemInfo.stPrice[i].dwUseTime, day, hour, min, szMessage); GlobalFunc::SetCaption(m_pTxtCtrlDesc[i][0], szMessage); } if(m_BuyCashItemInfo.stPrice[i].dwPrice) { ZeroMemory(szMessage, sizeof(szMessage)); GlobalFunc::SetMoneyText(m_pTxtCtrlDesc[i][1], m_BuyCashItemInfo.stPrice[i].dwPrice, GetManager()->GetUseCashType()); } TCHAR szTemp[INTERFACE_STRING_LENGTH] ={0,}; if(m_BuyCashItemInfo.stPrice[i].dwAmount) // %d °³ { ZeroMemory(szMessage, sizeof(szMessage)); // 155376 %d°³ g_InterfaceManager.GetInterfaceString(155376 , szTemp ,INTERFACE_STRING_LENGTH); Snprintf(szMessage, INTERFACE_STRING_LENGTH-1, szTemp , m_BuyCashItemInfo.stPrice[i].dwAmount); GlobalFunc::SetCaption(m_pTxtCtrlDesc[i][2], szMessage); } if(m_BuyCashItemInfo.stPrice[i].bySaleRatio) { ZeroMemory(szMessage, sizeof(szMessage)); //155377 %d%% ¼¼Àϰ¡°Ý g_InterfaceManager.GetInterfaceString(155377 , szTemp ,INTERFACE_STRING_LENGTH ); Snprintf(szMessage, INTERFACE_STRING_LENGTH-1, szTemp, m_BuyCashItemInfo.stPrice[i].bySaleRatio); GlobalFunc::SetCaption(m_pTxtCtrlSale[i], szMessage); } } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopBuy::_addIconImage(DWORD dwCode, CODETYPE itemCode) { m_BuyItemImg.dwIconCode = dwCode; m_BuyItemImg.itemCode = itemCode; _removeIconImage(); if (dwCode != 0) { m_BuyItemImg.pImage = ICONMGR()->Add(dwCode); } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopBuy::_removeIconImage() { if(m_BuyItemImg.pImage) { ICONMGR()->RemoveIcon(m_BuyItemImg.pImage); m_BuyItemImg.pImage = NULL; } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopBuy::_renderTooltip() { 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()); } } int iMouseX = Mouse::Instance()->GetMouseX(); int iMouseY = Mouse::Instance()->GetMouseY(); // ½ºÅµÃ³¸® // ÀÎÅÍÆäÀ̽º¿¡¼­ Dialog ¹ÙÅÁ¿¡¼­´Â Mouse Over°¡ ¿ÀÁö ¾Ê´Â´Ù. BOOL bMouseOver = FALSE; if(m_pImgCtrl) { RECT rc = m_pImgCtrl->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 uiCashItemShopBuy::_renderIconImage() { if(m_pImgCtrl) { if (m_BuyItemImg.pImage && m_BuyItemImg.dwIconCode) { RECT rc = m_pImgCtrl->GetSizeRect(); m_BuyItemImg.pImage->Render(&rc); GetManager()->renderCoverImage(m_BuyItemImg, rc); } } } //------------------------------------------------------------------------------ void uiCashItemShopBuy::ShowBuyItem( stCashItemInfo * pInfo ) { if( pInfo == NULL ) return; ZeroMemory(&m_ItemCodeForTooltip, sizeof(m_ItemCodeForTooltip)); CopyMemory(&m_BuyCashItemInfo, pInfo, sizeof(m_BuyCashItemInfo)); ShowInterface(TRUE); _refresh(); } //------------------------------------------------------------------------------ void uiCashItemShopBuy::_refresh() { _clearItem(); _setItem(); } //------------------------------------------------------------------------------ void uiCashItemShopBuy::OnShowWindow( BOOL val ) { if (val) { //uiBase::MoveCenter(); if (!this->m_bControlsInitialized) { this->ShowInterface(FALSE); return; } #ifdef _NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_ CCtrlButtonWZ* pBtn = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_BUY_BTN_GIFT)); if (pBtn) { if (GetManager()->pp_category() || GetManager()->GetUseCashType() == CASH_ITEM_SHOP_PCASH) { pBtn->ShowWindowWZ(WZ_SHOW); } else { pBtn->ShowWindowWZ(WZ_HIDE); } } #endif//_NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_ keyMsg msg; ZeroMemory(&msg,sizeof(msg)); msg.dwType = eDoType_dialog_cash_item_shop_buy; msg.wParam = InterfaceManager::DIALOG_CASH_ITEM_SHOP_BUY; msg.DoSomething = GlobalFunc::DoShowWindow; g_KeyQueueManager.PushBack(msg); m_bShow = true; } else { g_KeyQueueManager.DeleteMsg(eDoType_dialog_cash_item_shop_buy); m_bShow = false; } } //------------------------------------------------------------------------------ /** */ BOOL uiCashItemShopBuy::_isEnable() { if(GENERALPARAM->IsNet()) { 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 uiCashItemShopBuy::MessageProc( SI_MESSAGE * pMessage ) { if (!_isEnable()) return; TCHAR szMessage[INTERFACE_STRING_LENGTH] = {0,}; switch( pMessage->eResultMsg ) { case RT_MSG_LBUTTONCLICK: { POSTYPE posType = getCtrlIDToPos( pMessage->dwCtrlID ); switch( posType ) { case eDIALOG_CASH_ITEM_SHOP_BUY_BTN_EXIT: { m_bShow = false; } break; case eDIALOG_CASH_ITEM_SHOP_BUY_CHK_SEL1: case eDIALOG_CASH_ITEM_SHOP_BUY_CHK_SEL2: case eDIALOG_CASH_ITEM_SHOP_BUY_CHK_SEL3: case eDIALOG_CASH_ITEM_SHOP_BUY_CHK_SEL4: { for(int i=0; i eCASH_ITEM_SHOP_BUY_CHK_SEL4)) { this->m_iSelectIndex = -1; } else { if(m_BuyCashItemInfo.stPrice[iIndex].priceGuid > 0) { this->m_iSelectIndex = iIndex; m_pBtnCheckTabs[m_iSelectIndex]->SetCheckState(true); } else { ZeroMemory(&m_BuyCashItemCheckInfo.stPrice[iIndex], sizeof(m_BuyCashItemCheckInfo.stPrice[iIndex])); m_pBtnCheckTabs[iIndex]->SetCheckState(false); } CopyMemory(&m_BuyCashItemCheckInfo.stPrice[m_iSelectIndex], &m_BuyCashItemInfo.stPrice[m_iSelectIndex], sizeof(m_BuyCashItemInfo.stPrice[m_iSelectIndex])); m_PresentItemCheckInfo.stPiece[0].dwAmount = m_BuyCashItemInfo.stPrice[m_iSelectIndex].dwAmount; m_PresentItemCheckInfo.stPiece[0].dwItemCode = m_BuyCashItemInfo.dwItemCode; m_PresentItemCheckInfo.stPiece[0].dwUseTime = m_BuyCashItemInfo.stPrice[m_iSelectIndex].dwUseTime; m_PresentItemCheckInfo.stPiece[0].byRank = m_BuyCashItemInfo.byRank; } } break; case eDIALOG_CASH_ITEM_SHOP_BUY_BTN_BUY: { if(m_iSelectIndex >= 0) { // ±¸¸ÅÈ®ÀÎ ÆË¾÷â m_BuyCashItemCheckInfo.dwCoolTime = m_BuyCashItemInfo.dwCoolTime; m_BuyCashItemCheckInfo.dwItemCode = m_BuyCashItemInfo.dwItemCode; m_BuyCashItemCheckInfo.itemguid = m_BuyCashItemInfo.itemguid; m_BuyCashItemCheckInfo.moneyType = m_BuyCashItemInfo.moneyType; m_BuyCashItemCheckInfo.SellEndDate = m_BuyCashItemInfo.SellEndDate; GetManager()->ShowCashItemShopBuyCheck(&m_BuyCashItemCheckInfo); } else { // 85203 ¾ÆÀÌÅÛÀ» ¼±ÅÃÇϼ¼¿ä. g_InterfaceManager.GetInterfaceString(85203, szMessage, INTERFACE_STRING_LENGTH); GlobalFunc::OutputMsg_SysMsg(szMessage); } } break; case eDIALOG_CASH_ITEM_SHOP_BUY_BTN_GIFT: { #ifdef _GS_GSP_CASH_SHOP_BLOCK_CONTENT // 70242 ÁغñÁßÀÔ´Ï´Ù. //g_InterfaceManager.GetInterfaceString(70242, szMessage, INTERFACE_STRING_LENGTH); //GlobalFunc::OutputMsg_SysMsg(szMessage); //break; if (!GetManager()->pp_category() && GetManager()->GetUseCashType() != CASH_ITEM_SHOP_PCASH) { // 70242 ÁغñÁßÀÔ´Ï´Ù. g_InterfaceManager.GetInterfaceString(70242, szMessage, INTERFACE_STRING_LENGTH); GlobalFunc::OutputMsg_SysMsg(szMessage); return; } #endif//_GS_GSP_CASH_SHOP_BLOCK_CONTENT if(m_iSelectIndex >= 0) { BASE_ITEMINFO *pItemInfo = ItemInfoParser::Instance()->GetItemInfo(m_BuyCashItemInfo.dwItemCode); if(pItemInfo) { if (SCItemSlot::CanTradeSell(pItemInfo, eITEM_TRADESELL_CASH_PRESENT) == false) { //5984 ÇØ´ç ¾ÆÀÌÅÛÀº ¼±¹°Çϱ⠱â´ÉÀ» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. TCHAR szMessage[MAX_MESSAGE_LENGTH]; g_InterfaceManager.GetInterfaceString(5984,szMessage); GlobalFunc::OutputMsg_Notice(eOUTPUT_MSG_CHAT, szMessage); return; } } m_PresentItemCheckInfo.dwCoolTime = m_BuyCashItemInfo.dwCoolTime; m_PresentItemCheckInfo.moneyType = m_BuyCashItemInfo.moneyType; m_PresentItemCheckInfo.SellEndDate = m_BuyCashItemInfo.SellEndDate; m_PresentItemCheckInfo.byItemType = GetManager()->GetCashShopDlgState(); m_PresentItemCheckInfo.priceGuid = m_BuyCashItemInfo.stPrice[m_iSelectIndex].priceGuid; m_PresentItemCheckInfo.dwPrice = m_BuyCashItemInfo.stPrice[m_iSelectIndex].dwPrice; m_PresentItemCheckInfo.dwPrice = m_BuyCashItemInfo.stPrice[m_iSelectIndex].dwPrice; GetManager()->SetPresentState(ePresentState_Send); GetManager()->ShowCashItemShopPresentCheck(&m_PresentItemCheckInfo); } else { // 85203 ¾ÆÀÌÅÛÀ» ¼±ÅÃÇϼ¼¿ä. g_InterfaceManager.GetInterfaceString(85203, szMessage, INTERFACE_STRING_LENGTH); GlobalFunc::OutputMsg_SysMsg(szMessage); } } break; } } break; case RT_MSG_SB_PAGETOP: //. À­ÂÊ ¸öÅëÀ» ´­·¶´Ù. case RT_MSG_SB_LINETOP: //.À­ÂÊ È­»ìÇ¥¸¦ ´­·¶´Ù. { if(m_pScroll) { int pos = m_pScroll->GetScrollPosWZ();//ÇöÀç ½ºÅ©·Ñ °ªÀ» ¹Þ¾Æ ¿Â´Ù. int mmin = 0 , mmax = 0; m_pScroll->GetScrollRangeWZ( &mmin, &mmax );//½ºÅ©·Ñ °ªÀÇ ÃÖ´ë ÃÖ¼Ò¸¦ ¾ò¾î ¿Â´Ù. if(pos>mmin)// ÇöÀç ÀÔ·ÂµÈ ¶óÀμö º¸´Ù ÀÛÀ¸¸é { pos--;//ÇÑÁÙ °¨¼Ò ½Ã۰í m_pScroll->SetScrollPosWZ(pos); m_iTipListCurLine = pos; } } } break; case RT_MSG_SB_PAGEBOTTOM: //. À­ÂÊ ¸öÅëÀ» ´­·¶´Ù. case RT_MSG_SB_LINEBOTTOM: //.¾Æ·§ÂÊ È­»ìÇ¥¸¦ ´­·¶´Ù { if(m_pScroll) { int pos = m_pScroll->GetScrollPosWZ();//ÇöÀç ½ºÅ©·Ñ °ªÀ» ¹Þ¾Æ ¿Â´Ù. int mmin = 0 , mmax = 0; m_pScroll->GetScrollRangeWZ( &mmin, &mmax );//½ºÅ©·Ñ °ªÀÇ ÃÖ´ë ÃÖ¼Ò¸¦ ¾ò¾î ¿Â´Ù. if(posSetScrollPosWZ(pos); m_iTipListCurLine = pos; } } } break; case RT_MSG_SB_THUMBTRACK: //. ½æÀ» µå·¡±× Çϰí ÀÖ´Ù. case RT_MSG_SB_THUMBPOSITION: //. ½æÀ» µå·¡±×ÇÑÈÄ ¸¶¿ì½º¸¦ ³õ¾Ò´Ù. case RT_MSG_SB_ENDSCROLL: //. ½ºÅ©·ÑÀÌ Á¾·á µÇ¾ú´Ù. { if(m_pScroll) { int pos = m_pScroll->GetScrollPosWZ();//ÇöÀç ½ºÅ©·Ñ °ªÀ» ¹Þ¾Æ ¿Â´Ù. m_pScroll->SetScrollPosWZ(pos); m_iTipListCurLine = pos; } } break; default: { SolarDialog::MessageProc( pMessage ); } break; } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopBuy::OnUpdateSolarDialog() { if(!m_bShow) this->ShowInterface(FALSE); if (!_isEnable()) return; total_cash_ = 0; #ifndef __CN_0_20070507_SHOP_MILEAGE total_heim_ = 0; #endif // __CN_0_20070507_SHOP_MILEAGE for(int k=0; k< _MAX_PRICE_INFO; ++k) { m_pBtnCheckTabs[k]->SetCheckState(false); } if((m_iSelectIndex >= eCASH_ITEM_SHOP_BUY_CHK_SEL1) && (m_iSelectIndex < eCASH_ITEM_SHOP_BUY_CHK_MAX)) { m_pBtnCheckTabs[m_iSelectIndex]->SetCheckState(true); #ifdef __CN_0_20070507_SHOP_MILEAGE total_cash_ += this->m_BuyCashItemInfo.stPrice[m_iSelectIndex].dwPrice; #else // __CN_0_20070507_SHOP_MILEAGE if(LOGINPARAM->IsLiveTestServer() == FALSE) { total_cash_ += this->m_BuyCashItemInfo.stPrice[m_iSelectIndex].dwPrice; } else { total_heim_ += this->m_BuyCashItemInfo.stPrice[m_iSelectIndex].dwPrice; } #endif // __CN_0_20070507_SHOP_MILEAGE } #ifdef __CN_0_20070507_SHOP_MILEAGE GlobalFunc::SetMoneyText(m_pTxtCtrl[eCASH_ITEM_SHOP_BUY_TXT_ITEM_COST_MONEY], total_cash_, m_BuyCashItemInfo.moneyType); if(LOGINPARAM->IsLiveTestServer()) //Å×¼·½ÇÇà¸ðµå { GlobalFunc::SetMoneyText(m_pTxtCtrl[eCASH_ITEM_SHOP_BUY_TXT_MONEY], g_pHero->GetMoney(), m_BuyCashItemInfo.moneyType); //Å×¼·Àº ÇÏÀÓÀ» Ç¥½ÃÇÔ } else { GlobalFunc::SetMoneyText(m_pTxtCtrl[eCASH_ITEM_SHOP_BUY_TXT_MONEY], GetManager()->GetMyCash(), m_BuyCashItemInfo.moneyType); //ij½¬ Ç¥½Ã } #else // __CN_0_20070507_SHOP_MILEAGE // ºñ¿ë if(LOGINPARAM->IsLiveTestServer()) //Å×¼·½ÇÇà¸ðµå { GlobalFunc::SetMoneyText(m_pTxtCtrl[eCASH_ITEM_SHOP_BUY_TXT_ITEM_COST_MONEY], total_heim_, CASH_ITEM_SHOP_HAIM); //Å×¼·Àº ÇÏÀÓÀ» Ç¥½ÃÇÔ GlobalFunc::SetMoneyText(m_pTxtCtrl[eCASH_ITEM_SHOP_BUY_TXT_MONEY], g_pHero->GetMoney(), CASH_ITEM_SHOP_HAIM); //Å×¼·Àº ÇÏÀÓÀ» Ç¥½ÃÇÔ(¼ÒÁö±Ý¾×) } else { GlobalFunc::SetMoneyText(m_pTxtCtrl[eCASH_ITEM_SHOP_BUY_TXT_ITEM_COST_MONEY], total_cash_, GetManager()->GetUseCashType()); //ij½¬ Ç¥½Ã MONEY remain_cash = 0; switch (GetManager()->GetUseCashType()) { case CASH_ITEM_SHOP_DEFAULT: case CASH_ITEM_SHOP_CCASH: remain_cash = GetManager()->GetMyCash(); break; case CASH_ITEM_SHOP_MILEAGE: remain_cash = GetManager()->GetMyMileage(); break; case CASH_ITEM_SHOP_PCASH: remain_cash = GetManager()->GetPPCash(); break; case CASH_ITEM_SHOP_HAIM: remain_cash = g_pHero->GetMoney(); break; } //ij½¬ Ç¥½Ã(¼ÒÁö±Ý¾×) GlobalFunc::SetMoneyText(m_pTxtCtrl[eCASH_ITEM_SHOP_BUY_TXT_MONEY], remain_cash, GetManager()->GetUseCashType()); } #endif // __CN_0_20070507_SHOP_MILEAGE } //------------------------------------------------------------------------------ /** */ void uiCashItemShopBuy::OnRenderSolarDialog() { if (!_isEnable()) return; this->_renderIconImage(); this->_renderTooltip(); } //---------------------------------------------------------------------------- /** */ void uiCashItemShopBuy::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_BUY_IMG_ITEM) { if (m_BuyItemImg.pImage && m_BuyItemImg.dwIconCode) { m_ItemCodeForTooltip.dwItemCode = m_BuyItemImg.itemCode; m_ItemCodeForTooltip.dwCoolTime = m_BuyCashItemInfo.dwCoolTime; m_ItemCodeForTooltip.SellEndDate = m_BuyCashItemInfo.SellEndDate; m_ItemCodeForTooltip.byEnchant = m_BuyCashItemInfo.byEnchant; m_ItemCodeForTooltip.byRank = m_BuyCashItemInfo.byRank; } else { ZeroMemory(&m_ItemCodeForTooltip, sizeof(m_ItemCodeForTooltip)); } } else { ZeroMemory(&m_ItemCodeForTooltip, sizeof(m_ItemCodeForTooltip)); } } break; } } //------------------------------------------------------------------------------ #endif //#ifndef _NA_0_20110613_GAME_SHOP_RENEWAL //#if'N'def //------------------------------------------------------------------------------