#include "SunClientPrecompiledHeader.h" //------------------------------------------------------------------------------ #ifndef _NA_0_20110613_GAME_SHOP_RENEWAL //#if'N'def //------------------------------------------------------------------------------ #include "uiCashItemShopExtensionBuy.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 "SCItemSlotContainer.h" #include "SCItemSlot.h" #include "MouseHandler.h" #include "ItemUnitRenderer.h" #include "SlotKeyGenerator.h" #include "CursorChangeTransact.h" //------------------------------------------------------------------------------ WzID uiCashItemShopExtensionBuy::m_wzId[eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_MAX] = { StrToWzID("B001"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_IMG_ITEM = 0, StrToWzID("B999"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_BTN_EXIT, StrToWzID("T004"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_TXT_DESC1, StrToWzID("T012"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_TXT_DESC2, StrToWzID("T005"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_TXT_DESC3, StrToWzID("T013"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_TXT_DESC4, StrToWzID("T006"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_TXT_DESC5, StrToWzID("T014"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_TXT_DESC6, StrToWzID("ST00"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_TXT_DESC7, StrToWzID("ST01"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_TXT_DESC8, StrToWzID("T016"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_TXT_SALE1, StrToWzID("T017"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_TXT_SALE2, StrToWzID("T018"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_TXT_SALE3, StrToWzID("ST02"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_TXT_SALE4, StrToWzID("T002"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_TXT_NAME, StrToWzID("T023"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_TXT_ITEM_COST_MONEY, StrToWzID("T024"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_TXT_MONEY, StrToWzID("C001"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_CHK_SEL1, StrToWzID("C002"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_CHK_SEL2, StrToWzID("CT02"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_CHK_SEL3, StrToWzID("CT03"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_CHK_SEL4, StrToWzID("B003"), //eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_BTN_EXTENSION, }; //------------------------------------------------------------------------------ /** */ uiCashItemShopExtensionBuy::uiCashItemShopExtensionBuy(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)); m_iSelectIndex = -1; m_iTipListCurLine = 0; m_iCurIndex = -1; m_fromSlotIdx = 0; m_fromPos = 0; m_pItemUnitRenderer = NULL; SCItemSlotContainer::Init(1, SI_EXTENSION ); } //------------------------------------------------------------------------------ /** */ uiCashItemShopExtensionBuy::~uiCashItemShopExtensionBuy() { SCItemSlotContainer::Release(); this->Release(); } //------------------------------------------------------------------------------ /** */ void uiCashItemShopExtensionBuy::Init(CDrawBase* pDrawBase) { uiBase::Init(pDrawBase); this->InitControls(); } //------------------------------------------------------------------------------ /** */ void uiCashItemShopExtensionBuy::Release() { SAFE_RELEASENDELETE( m_pItemUnitRenderer ); this->_removeIconImage(); } //------------------------------------------------------------------------------ /** */ void uiCashItemShopExtensionBuy::InitControls() { int i=0; int iCount = 0; for(i = 0; i < _MAX_PRICE_INFO; ++i) { for(int k = 0; k < eExtensionItemDescMax; ++k) { m_pTxtCtrlDesc[i][k] = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_EXTENSION_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_EXTENSION_BUY_TXT_SALE1+i)); assert(m_pTxtCtrlSale[i]); } for(i=0; i < eCASH_ITEM_SHOP_EXTENSION_BUY_TXT_MAX; ++i) { m_pTxtCtrl[i] = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_TXT_NAME+i)); assert(m_pTxtCtrl[i]); } for(i=0; i < eCASH_ITEM_SHOP_EXTENSION_BUY_CHK_MAX; ++i) { m_pBtnCheckTabs[i] = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_CHK_SEL1+i)); assert(m_pBtnCheckTabs[i]); } m_pImgCtrl = static_cast(getControl(eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_IMG_ITEM)); assert(m_pImgCtrl); assert( !m_pItemUnitRenderer ); m_pItemUnitRenderer = new ItemUnitRenderer; m_pItemUnitRenderer->Init( g_pSunRenderer, SCSlotContainer::GetMaxSlotNum() ); this->m_bControlsInitialized = true; } //------------------------------------------------------------------------------ /** */ void uiCashItemShopExtensionBuy::_clearItem() { if(!m_bControlsInitialized) return; this->_removeIconImage(); int i=0; for(i=0; i<_MAX_PRICE_INFO; ++i) { if(m_pBtnCheckTabs[i]) m_pBtnCheckTabs[i]->SetCheckState(false); } for(i=0; i<_MAX_PRICE_INFO; ++i) { for(int k=0; kIsRiderPartsItem()|| rSlot.GetItemInfo()->IsWeapon() || rSlot.GetItemInfo()->IsArmor() ) { for (int i = 0; i < _ITEM_NUM_PER_PAGE; ++i) { BASE_ITEMINFO * pItemInfo = ItemInfoParser::Instance()->GetItemInfo(GetManager()->m_stExtensionItemInfo[i].dwItemCode); if (pItemInfo != NULL) { //gs_bug_fix: ÃßÈÄ ±â°£¿¬ÀåŸÀÔÀÌ Ãß°¡µÉ¶§ À̺κп¡¼­ ½½·Ô¿¡¿Ã¶ó¿Â¾ÆÀÌÅÛ°ú m_stExtensionItemInfo¹è¿­¾È¿¡ // µé¾îÀÖ´Â ¾ÆÀÌÅÛÄÚµå(m_wType)°úºñ±³Çؼ­ ¿Ã¹Ù¸¥ À妽º °É·¯Áà¾ßÇÑ´Ù ÇöÀç µÎ¾ÆÀÌÅÛ°£ÀÇ ¿¬°áÁ¤º¸°¡ ¾ø´Ù // // todo:ÃßÈÄ ¾ÆÀÌÅÛ°ü·Ã m_stExtensionItemInfoÁ¤º¸°¡ ´Ã¾î³­´Ù¸é Á¶°Ç¹®ÀÇ ºÐ±â°¡ ºÒ°¡ÇÇÇÏ´Ù // °ÅÀÇ ´Ã¾î³¯ÀÏÀÌ ÀÖÀ»±î ½ÍÁö¸¸ ´Ã¾î³­´Ù¸é ŸÀÔüũ¸¦ ±¸¹®À» ±ò²ûÇÏ°Ô ¹Ù²ÜÇʿ䰡ÀÖ´Ù if(rSlot.GetItemInfo()->IsRiderPartsItem() && pItemInfo->m_wType!=eITEMTYPE_EXTEND_DATE_RIDER) { continue; } if((rSlot.GetItemInfo()->IsWeapon() || rSlot.GetItemInfo()->IsArmor() ) && pItemInfo->m_wType==eITEMTYPE_EXTEND_DATE_RIDER) { continue; } // ÇØ´ç ¾ÆÀÌÅÛ °¡°Ý Á¤º¸°¡ ÀÖÀ¸¸é Show, ¾øÀ¸¸é ÇÁ·ÎÅäÄÝ ¿äû if(GetManager()->m_stExtensionItemInfo[i].stPrice[0].priceGuid > 0) GetManager()->ShowCashItemShopExtensionBuy(i); else GetManager()->Send_CG_SHOP_ITEM_REQ_SYN(i, TRUE); m_iCurIndex = i; return; } } } } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopExtensionBuy::_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,}; TCHAR szTemp4[INTERFACE_STRING_LENGTH] = {0,}; SCItemSlot & rSlot = (SCItemSlot &)GetSlot(0); if(rSlot.GetItemInfo()) { m_BuyItemImg.type = m_BuyCashItemInfo.byRank; _addIconImage(rSlot.GetItemInfo()->m_wVICode, rSlot.GetItemInfo()->m_Code); g_InterfaceManager.GetItemName(rSlot.GetItemInfo()->m_Code, szMessage, INTERFACE_STRING_LENGTH); Snprintf(szTemp, INTERFACE_STRING_LENGTH-1, _T("+%d"), rSlot.GetEnchant()); _tcscat(szMessage, szTemp); // ij½Ã¼¥¾ÆÀÌÅÛÀÇ Rank °ªÀ» ¿ëµµ º¯°æÇÏ¿© Rank¸¦ Ãâ·Â ÇÏÁö ¾Êµµ·Ï ¼öÁ¤ // ÀÌÀüºÎÅÍ RankÀÚü´Â »ç¿ëµÇ°í ÀÖÁö ¾Ê¾ÒÀ½. //if( pItemInfo->CanRankUpItem()) //{ // int iRankIndex = eST_RANK_E_STRING_INDEX + (rSlot.GetRank()); // 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; // 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); // ZeroMemory(szTemp, sizeof(szTemp)); // ZeroMemory(szTemp2, sizeof(szTemp2)); // ZeroMemory(szTemp3, sizeof(szTemp3)); //} if(rSlot.GetItemInfo()->IsArmor()) { // 155418 ¹æ¾î±¸ g_InterfaceManager.GetInterfaceString(155418, szTemp, INTERFACE_STRING_LENGTH); } else if(rSlot.GetItemInfo()->IsWeapon()) { // 155417 ¹«±â g_InterfaceManager.GetInterfaceString(155417, szTemp, INTERFACE_STRING_LENGTH); } else if(rSlot.GetItemInfo()->IsRiderPartsItem()) { // 158383 Å»°ÍÆÄÃ÷ g_InterfaceManager.GetInterfaceString(158383, szTemp, INTERFACE_STRING_LENGTH); } Snprintf(szTemp2, INTERFACE_STRING_LENGTH-1, _T(" (%s)"), szTemp); _tcscat( szMessage, szTemp2); GlobalFunc::SetCaption(m_pTxtCtrl[eCASH_ITEM_SHOP_EXTENSION_BUY_TXT_NAME], szMessage); // ¾ÆÀÌÅÛ À̸§ } 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][eExtensionItemDescDay], szMessage); } if(m_BuyCashItemInfo.stPrice[i].dwPrice) { ZeroMemory(szMessage, sizeof(szMessage)); #ifdef __CN_0_20070507_SHOP_MILEAGE GlobalFunc::SetMoneyText(m_pTxtCtrlDesc[i][eExtensionItemDescMoney], m_BuyCashItemInfo.stPrice[i].dwPrice, m_BuyCashItemInfo.moneyType); #else #ifdef _NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_ // ±â°£¿¬ÀåÀº cc·Î¸¸ GlobalFunc::SetMoneyText(m_pTxtCtrlDesc[i][eExtensionItemDescMoney], m_BuyCashItemInfo.stPrice[i].dwPrice, CASH_ITEM_SHOP_CCASH); #else GlobalFunc::SetMoneyText(m_pTxtCtrlDesc[i][eExtensionItemDescMoney], m_BuyCashItemInfo.stPrice[i].dwPrice, (FALSE!=m_BuyCashItemInfo.moneyType)); #endif//_NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_ #endif } TCHAR szTemp[INTERFACE_STRING_LENGTH] ={0,}; 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 uiCashItemShopExtensionBuy::_addIconImage(DWORD dwCode, CODETYPE itemCode) { m_BuyItemImg.dwIconCode = dwCode; m_BuyItemImg.itemCode = itemCode; _removeIconImage(); if (dwCode != 0) { m_BuyItemImg.pImage = ICONMGR()->Add(dwCode); } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopExtensionBuy::_removeIconImage() { if(m_BuyItemImg.pImage) { ICONMGR()->RemoveIcon(m_BuyItemImg.pImage); m_BuyItemImg.pImage = NULL; } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopExtensionBuy::_renderTooltip() { if ( this->m_MouseOverObject.eMouseOverType != eMOUSE_OVER_MAX) { if ( eMOUSE_OVER_SLOT == m_MouseOverObject.eMouseOverType ) { uiToolTipMan* pUIMan = (uiToolTipMan*)g_InterfaceManager.GetUserInterfaceManager(UIMAN_TOOLTIP); if(pUIMan) { pUIMan->RegisterTooltipItem(m_MouseOverObject.pSlot, FALSE, kLimitStatCompositeEnchant); pUIMan->SetTooltipDialogID(GetDialogKey()); } CursorChangeTransact::Instance()->ChangeTranaction( MouseCursor::eMouseCursor_Cursor_Cancle ); } } int iMouseX = Mouse::Instance()->GetMouseX(); int iMouseY = Mouse::Instance()->GetMouseY(); // ½ºÅµÃ³¸® // ÀÎÅÍÆäÀ̽º¿¡¼­ Dialog ¹ÙÅÁ¿¡¼­´Â Mouse Over°¡ ¿ÀÁö ¾Ê´Â´Ù. BOOL bMouseOver = FALSE; for (POSTYPE a = 0; a < GetMaxSlotNum(); a++) { CControlWZ * pControl = getControl(a); RECT rc = pControl->GetSizeRect(); if (rc.left <= iMouseX && rc.right >= iMouseX) { if (rc.top <= iMouseY && rc.bottom >= iMouseY) { bMouseOver = TRUE; } } } if ( !bMouseOver ) { m_MouseOverObject.eMouseOverType = eMOUSE_OVER_MAX; } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopExtensionBuy::_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 uiCashItemShopExtensionBuy::ShowBuyItem(stCashItemInfo* pInfo) { if( !pInfo ) return; ZeroMemory(&m_ItemCodeForTooltip, sizeof(m_ItemCodeForTooltip)); CopyMemory(&m_BuyCashItemInfo, pInfo, sizeof(m_BuyCashItemInfo)); ShowInterface(TRUE); _refresh(); } //------------------------------------------------------------------------------ void uiCashItemShopExtensionBuy::_refresh() { _clearItem(); _setItem(); } //------------------------------------------------------------------------------ void uiCashItemShopExtensionBuy::OnShowWindow( BOOL val ) { if (val) { //uiBase::MoveCenter(); if (!this->m_bControlsInitialized) { this->ShowInterface(FALSE); return; } keyMsg msg; ZeroMemory(&msg,sizeof(msg)); msg.dwType = eDoType_dialog_cash_item_shop_extension_buy; msg.wParam = InterfaceManager::DIALOG_CASH_ITEM_SHOP_EXTENSION_BUY; msg.DoSomething = GlobalFunc::DoShowWindow; g_KeyQueueManager.PushBack(msg); m_bShow = true; } else { g_KeyQueueManager.DeleteMsg(eDoType_dialog_cash_item_shop_extension_buy); for (int i = 0; i < GetMaxSlotNum(); ++i) { if (IsEmpty(i)) { continue; } DeleteSlot(i, NULL); } m_bShow = false; } } //------------------------------------------------------------------------------ /** */ BOOL uiCashItemShopExtensionBuy::_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 uiCashItemShopExtensionBuy::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_EXTENSION_BUY_BTN_EXIT: { m_bShow = false; } break; case eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_CHK_SEL1: case eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_CHK_SEL2: case eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_CHK_SEL3: case eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_CHK_SEL4: { for(int i=0; i eCASH_ITEM_SHOP_EXTENSION_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])); } } break; case eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_BTN_EXTENSION: { if(!GetManager()->GetRqstState()) { 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()->ClearPendingBuyList(); int iIndex = 0; for(int i=0; i<_MAX_PRICE_INFO; ++i) { if(this->m_BuyCashItemCheckInfo.stPrice[i].priceGuid > 0) { GetManager()->m_pendingBuyList[iIndex] = m_BuyCashItemCheckInfo.stPrice[i].priceGuid; ++iIndex; } } CopyMemory(&(GetManager()->m_pendingBuyItemInfo), &m_BuyCashItemCheckInfo, sizeof(this->m_BuyCashItemCheckInfo)); SCItemSlot & rSlot = (SCItemSlot &)GetSlot(0); GetManager()->m_dwPendingExtensionItemCode = rSlot.GetItemInfo()->m_Code; #ifdef _NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_ // ±â°£¿¬ÀåÀº cc·Î¸¸ GetManager()->SetUseCashType(CASH_ITEM_SHOP_CCASH); #endif//_NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_ GetManager()->Send_CG_SHOP_ITEM_BUY_SYN( m_fromSlotIdx, m_fromPos); } else { // 85203 ¾ÆÀÌÅÛÀ» ¼±ÅÃÇϼ¼¿ä. g_InterfaceManager.GetInterfaceString(85203, szMessage, INTERFACE_STRING_LENGTH); GlobalFunc::OutputMsg_SysMsg(szMessage); } } } break; case eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_IMG_ITEM: { CControlWZ * pControl = getControl(eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_IMG_ITEM); if (!pControl) break; RECT rcSlot = pControl->GetSizeRect(); BOOL bRet = MouseHandler::Instance()->ItemExtension(SI_EXTENSION, eDIALOG_CASH_ITEM_SHOP_EXTENSION_BUY_IMG_ITEM, &rcSlot); if (bRet) { m_fromSlotIdx = MouseHandler::Instance()->GetMouseItem()->m_fromSlotIdx; m_fromPos = MouseHandler::Instance()->GetMouseItem()->m_fromPos; _setIndex(); } MouseHandler::Instance()->RollbackItemAtHand(); } break; } } break; default: { SolarDialog::MessageProc( pMessage ); } break; } } //------------------------------------------------------------------------------ /** */ void uiCashItemShopExtensionBuy::OnUpdateSolarDialog() { if(!m_bShow) this->ShowInterface(FALSE); if (!_isEnable()) return; total_cash_ = 0; for(int k=0; k< _MAX_PRICE_INFO; ++k) { m_pBtnCheckTabs[k]->SetCheckState(false); } if((m_iSelectIndex >= eCASH_ITEM_SHOP_EXTENSION_BUY_CHK_SEL1) && (m_iSelectIndex < eCASH_ITEM_SHOP_EXTENSION_BUY_CHK_MAX)) { m_pBtnCheckTabs[m_iSelectIndex]->SetCheckState(true); total_cash_ += static_cast(this->m_BuyCashItemCheckInfo.stPrice[m_iSelectIndex].dwPrice); } #ifdef __CN_0_20070507_SHOP_MILEAGE GlobalFunc::SetMoneyText(m_pTxtCtrl[eCASH_ITEM_SHOP_EXTENSION_BUY_TXT_ITEM_COST_MONEY], total_cash_, m_BuyCashItemInfo.moneyType); if(LOGINPARAM->IsLiveTestServer()) //Å×¼·½ÇÇà¸ðµå { GlobalFunc::SetMoneyText(m_pTxtCtrl[eCASH_ITEM_SHOP_EXTENSION_BUY_TXT_MONEY], g_pHero->GetMoney(), m_BuyCashItemInfo.moneyType); } else { GlobalFunc::SetMoneyText(m_pTxtCtrl[eCASH_ITEM_SHOP_EXTENSION_BUY_TXT_MONEY], GetManager()->GetMyCash(), m_BuyCashItemInfo.moneyType); } #else // __CN_0_20070507_SHOP_MILEAGE #ifdef _NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_ // ºñ¿ë GlobalFunc::SetMoneyText(m_pTxtCtrl[eCASH_ITEM_SHOP_EXTENSION_BUY_TXT_ITEM_COST_MONEY], total_cash_, CASH_ITEM_SHOP_CCASH); // ¼ÒÁö±Ý¾× GlobalFunc::SetMoneyText(m_pTxtCtrl[eCASH_ITEM_SHOP_EXTENSION_BUY_TXT_MONEY], GetManager()->GetMyCash(), CASH_ITEM_SHOP_CCASH); #else if(LOGINPARAM->IsLiveTestServer()) //Å×¼·½ÇÇà¸ðµå { // ºñ¿ë GlobalFunc::SetMoneyText(m_pTxtCtrl[eCASH_ITEM_SHOP_EXTENSION_BUY_TXT_ITEM_COST_MONEY], total_heim_, false); // ¼ÒÁö±Ý¾× GlobalFunc::SetMoneyText(m_pTxtCtrl[eCASH_ITEM_SHOP_EXTENSION_BUY_TXT_MONEY], g_pHero->GetMoney(), false); } else { // ºñ¿ë GlobalFunc::SetMoneyText(m_pTxtCtrl[eCASH_ITEM_SHOP_EXTENSION_BUY_TXT_ITEM_COST_MONEY], total_cash_, true); // ¼ÒÁö±Ý¾× GlobalFunc::SetMoneyText(m_pTxtCtrl[eCASH_ITEM_SHOP_EXTENSION_BUY_TXT_MONEY], GetManager()->GetMyCash(), true); } #endif//_NA00XXXX_090111_CASH_TYPE_SUBDIVIDE_ #endif // __CN_0_20070507_SHOP_MILEAGE if ( this->m_pItemUnitRenderer ) this->m_pItemUnitRenderer->Update(); } //------------------------------------------------------------------------------ /** */ void uiCashItemShopExtensionBuy::OnRenderSolarDialog() { if (!_isEnable()) return; if (m_pItemUnitRenderer) m_pItemUnitRenderer->Render(); this->_renderIconImage(); this->_renderTooltip(); } //---------------------------------------------------------------------------- /** */ void uiCashItemShopExtensionBuy::MouseOver_MsgProc( SI_MESSAGE * pMessage ) { if (!_isEnable()) return; switch( pMessage->eResultMsg ) { case RT_MSG_MOUSEOVER: { POSTYPE pos = getCtrlIDToPos( pMessage->dwCtrlID ); if (pos >= 0 && pos < GetMaxSlotNum()) { if (!IsEmpty( pos )) { SCSlot & rSlot = GetSlot( pos ); m_MouseOverObject.eMouseOverType = eMOUSE_OVER_SLOT; m_MouseOverObject.pSlot = &rSlot; } else { m_MouseOverObject.eMouseOverType = eMOUSE_OVER_MAX; } } else { m_MouseOverObject.eMouseOverType = eMOUSE_OVER_MAX; } } break; } } //---------------------------------------------------------------------------- /** */ RC::eSLOT_INSERT_RESULT uiCashItemShopExtensionBuy::InsertSlot( POSTYPE AtPos, SCSlot & rSlot ) { assert(IsEmpty(AtPos)); RC::eSLOT_INSERT_RESULT eInsertSlotResult = SCSlotContainer::InsertSlot( AtPos, rSlot ); DBSERIAL dwSerial = g_SlotKeyGenerator.GetKey(); SCSlot & rSetSlot = GetSlot(AtPos); rSetSlot.SetSerial(dwSerial); return eInsertSlotResult; } //---------------------------------------------------------------------------- /** */ BOOL uiCashItemShopExtensionBuy::DeleteSlot( POSTYPE AtPos, SCSlot * pSlotOut ) { if (IsEmpty(AtPos)) { return FALSE; } SCItemSlot & rItemSlot = (SCItemSlot & )GetSlot(AtPos); if(m_pItemUnitRenderer) { m_pItemUnitRenderer->RemoveItemUnit( rItemSlot.GetSerial() ); } else { assert(m_pItemUnitRenderer); } g_SlotKeyGenerator.Restore((DWORD)rItemSlot.GetSerial()); return SCSlotContainer::DeleteSlot(AtPos, pSlotOut ); } //---------------------------------------------------------------------------- /** */ void uiCashItemShopExtensionBuy::SetTargetInfo(SLOTIDX fromSlotIdx, POSTYPE fromPos) { this->m_FromTargetPos = fromPos; } //------------------------------------------------------------------------------ #endif //#ifndef _NA_0_20110613_GAME_SHOP_RENEWAL //#if'N'def //------------------------------------------------------------------------------