⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exchangemanager.cpp

📁 墨香最新私服
💻 CPP
📖 第 1 页 / 共 2 页
字号:
			cDialog* pDlg = WINDOWMGR->GetWindowForID( MBI_EXCHANGEAPPLY );
			if( pDlg )
				WINDOWMGR->AddListDestroyWindow( pDlg );
			
			CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(326) );
		}
		break;

	case MP_EXCHANGE_WAITING_CANCEL_ACK:
		{
			ExchangeEnd();

			CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(329) );
		}
		break;

	case MP_EXCHANGE_WAITING_CANCEL_NACK:
		{
			CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(316) );
		}
		break;	

	case MP_EXCHANGE_START:
		{
			GAMEIN->GetExchangeDialog()->SetActive( TRUE );

			if( !GAMEIN->GetInventoryDialog()->IsActive() )
			{
				GAMEIN->GetInventoryDialog()->SetActive( TRUE );
				m_bInventoryActive = FALSE;
			}
			else
			{
				m_bInventoryActive = TRUE;
			}
		}
		break;

	case MP_EXCHANGE_ADDITEM_ACK:
		{
			MSG_LINKITEM* msg = (MSG_LINKITEM*)pMsg;

			GAMEIN->GetExchangeDialog()->SetDisable( FALSE );		//FAKE MOVE¿¡¼­ TRUE
			CItem* pItem = (CItem*)GAMEIN->GetInventoryDialog()->GetItemForIdx( msg->ItemInfo.Position );
			ASSERT( pItem );
			if( !pItem ) break;

			CExchangeItem* pExItem = new CExchangeItem;
								
			//Init¹Ù²Ù´Â°Ô ³´°Ú´Ù.
			pExItem->InitItem( pItem, msg->wAbsPosition, m_IconIndexCreator.GenerateIndex() );
			pExItem->SetType( WT_EXCHANGEITEM );
			pExItem->SetDurability( msg->ItemInfo.Durability );

			WINDOWMGR->AddWindow( pExItem );

			GAMEIN->GetExchangeDialog()->AddItem( 0, msg->wAbsPosition, pExItem );

			//Àκ¥Å丮 ¾ÆÀÌÅÛ ¼¼ÆÃ
			pItem->SetLinkPosition( m_nLinkedItemNum );
			pItem->SetLinkItem( pExItem );

			//Àκ¥Å丮 üũ
			int nBlankNum = GAMEIN->GetInventoryDialog()->GetBlankNum();

			if( nBlankNum < (int)msg->wAbsPosition - EXCHANGEMGR->GetLinkedItemNum() )
			{
				CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(354) );
		//		m_bExchangable = FALSE;
			}
		}
		break;

	case MP_EXCHANGE_ADDITEM_NACK:
		{
			MSG_LINKITEM* msg = (MSG_LINKITEM*)pMsg;
			GAMEIN->GetExchangeDialog()->SetDisable( FALSE );		//FAKE MOVE¿¡¼­ TRUE

			--m_nLinkedItemNum;

			CItem* pItem = GAMEIN->GetInventoryDialog()->GetItemForIdx( msg->ItemInfo.Position );
			if( pItem )
				pItem->SetLock( FALSE );			
		}
		break;

	case MP_EXCHANGE_ADDITEM:	//»ó´ë°¡ µî·ÏÇß´Ù.
		{
//			MSG_LINKITEM* msg = (MSG_LINKITEM*)pMsg;
			MSG_LINKITEM_ADD* msg = (MSG_LINKITEM_ADD*)pMsg;

			CExchangeItem* pItem = new CExchangeItem;
			cImage tmpImage;
			pItem->Init( 0, 0, DEFAULT_ICONSIZE, DEFAULT_ICONSIZE, 
						 ITEMMGR->GetIconImage( msg->ItemInfo.wIconIdx, &tmpImage ), m_IconIndexCreator.GenerateIndex() );

			pItem->SetType( WT_EXCHANGEITEM );
			pItem->SetDurability( msg->ItemInfo.Durability );
			pItem->SetMovable( FALSE );
			pItem->SetData( msg->ItemInfo.wIconIdx );

			if( msg->bOptionItem )	//¿É¼ÇÀÌ ÀÖÀ¸¸é µî·Ï
			{
				ITEMMGR->AddItemOption( &msg->sOptionInfo );
				ITEMMGR->SetToolTipIcon( pItem, &msg->sOptionInfo );
			}
			else
			{
				ITEMMGR->SetToolTipIcon( pItem );
			}

			WINDOWMGR->AddWindow( pItem );

			GAMEIN->GetExchangeDialog()->AddItem( 1, msg->wAbsPosition, pItem );
		}
		break;
		
	case MP_EXCHANGE_DELITEM_ACK:
		{
			MSG_WORD* msg = (MSG_WORD*)pMsg;
			GAMEIN->GetExchangeDialog()->SetDisable( FALSE );
			GAMEIN->GetExchangeDialog()->DelItem( 0, msg->wData );
			--m_nLinkedItemNum;
		}
		break;

	case MP_EXCHANGE_DELITEM_NACK:
		{
			MSG_WORD* msg = (MSG_WORD*)pMsg;
			GAMEIN->GetExchangeDialog()->SetDisable( FALSE );
		}
		break;

	case MP_EXCHANGE_DELITEM://»ó´ë°¡ Áö¿ü´Ù.
		{
			MSG_WORD* msg = (MSG_WORD*)pMsg;

			//¿É¼ÇÀÌ ÀÖÀ¸¸é Áö¿öÁØ´Ù.
			GAMEIN->GetExchangeDialog()->DelItemOptionInfo( msg->wData );
			GAMEIN->GetExchangeDialog()->DelItem( 1, msg->wData );			
			
			
		}
		break;
		
	case MP_EXCHANGE_INPUTMONEY_ACK:
		{
			MSG_DWORD* msg = (MSG_DWORD*)pMsg;
			DWORD dwMoney = GAMEIN->GetExchangeDialog()->InputMoney( 0, msg->dwData );
			GAMEIN->GetExchangeDialog()->SetDisable( FALSE );
		}
		break;

	case MP_EXCHANGE_INPUTMONEY_NACK:
		{
			//"µ·ÀԷ¿¡ ½ÇÆÐÇÏ¿´½À´Ï´Ù."
			GAMEIN->GetExchangeDialog()->SetDisable( FALSE );
		}
		break;

	case MP_EXCHANGE_INPUTMONEY:
		{
			MSG_DWORD* msg = (MSG_DWORD*)pMsg;
			GAMEIN->GetExchangeDialog()->InputMoney( 1, msg->dwData );
		}
		break;

	case MP_EXCHANGE_LOCK_ACK:
		{
			m_bLockSyncing = FALSE;
			GAMEIN->GetExchangeDialog()->MyLock( TRUE );	//ÀÌ¹Ì ÇßÀ¸³ª Çѹø´õ È®ÀÎ
		}
		break;

	case MP_EXCHANGE_LOCK_NACK:
		{
			m_bLockSyncing = FALSE;
			GAMEIN->GetExchangeDialog()->MyLock( FALSE );
		}
		break;

	case MP_EXCHANGE_LOCK:
		{
			GAMEIN->GetExchangeDialog()->OpLock( TRUE );			
		}
		break;

	case MP_EXCHANGE_UNLOCK_ACK:
		{
			m_bLockSyncing = FALSE;			
			GAMEIN->GetExchangeDialog()->MyLock( FALSE );
		}
		break;

	case MP_EXCHANGE_UNLOCK_NACK:
		{
			m_bLockSyncing = FALSE;
			GAMEIN->GetExchangeDialog()->MyLock( TRUE );
		}
		break;

	case MP_EXCHANGE_UNLOCK:	//»ó´ë°¡ ¾ð¶ôÇßÀ»½Ã¿¡.
		{
			GAMEIN->GetExchangeDialog()->OpLock( FALSE );
			CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(332) );

			if( m_bExchangeSyncing )//±³È¯ÁßÀ̾ú´Ù¸é 
			{
				m_bExchangeSyncing = FALSE;
				//Àκ£Å丮µð½º¿¡À̺í Ç®±â
				GAMEIN->GetInventoryDialog()->SetDisable( FALSE );				
			}			
		}
		break;

	case MP_EXCHANGE_EXCHANGE_ACK:
		{
			//µÑ´Ù exchange¸¦ ´­·¶´Ù. ±³È¯À» ½ÃÀÛÇÑ´Ù!
			//¿©±â¼­ ¿É¼ÇÀ» ´ÙÁö¿ì°í...
		}
		break;

	case MP_EXCHANGE_EXCHANGE:
		{
			GAMEIN->GetExchangeDialog()->SetDisable( FALSE );
			GAMEIN->GetExchangeDialog()->SetActive( FALSE );			
			ITEMMGR->SetDisableDialog( FALSE, eItemTable_Inventory );

			//µ·ÀԷ¹öư Áö¿ì±â.	CONFIRM
			cDialog* pDlg = WINDOWMGR->GetWindowForID( DBOX_EXCHANGE_MONEY );
			if( pDlg )
				WINDOWMGR->AddListDestroyWindow( pDlg );


			CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(325) );

			ExchangeEnd();
		}
		break;

	case MP_EXCHANGE_EXCHANGE_NACK:		//±³È¯¹öưÀ» ´­·¶´Â´ë »ó´ë°¡ ¶ôÀ»Ç®¾î ¶ôÀÌ ÇØÁ¦µÇ¾úÀ»¶§ NACK´Ù.
		{
//			GAMEIN->GetExchangeDialog()->SetDisable( FALSE );
//			GAMEIN->GetExchangeDialog()->SetActive( FALSE );
//			GAMEIN->GetInventoryDialog()->SetDisable( FALSE );
//			if( !m_bInventoryActive )
//				GAMEIN->GetInventoryDialog()->SetActive( FALSE );

			//µ·ÀԷ¹öư Áö¿ì±â.	CONFIRM
//			cDialog* pDlg = WINDOWMGR->GetWindowForID( DBOX_EXCHANGE_MONEY );
//			if( pDlg )
//				WINDOWMGR->AddListDestroyWindow( pDlg );

//			CHATMGR->AddMsg( CTC_SYSMSG, "¶ôÀÌ °É¸®Áö ¾ÊÀº »óÅÂ¶ó ±³È¯ÀÌ Ãë¼ÒµÇ¾ú½À´Ï´Ù." );
//			ExchangeEnd();
			ITEMMGR->SetDisableDialog( FALSE, eItemTable_Inventory );
		}
		break;

	case MP_EXCHANGE_CANCEL_ACK:
		{
			////////¾ÆÀÌÅÛ ¿É¼Ç Á¦°Å Active False Àü¿¡ ÇÒ°Í
			GAMEIN->GetExchangeDialog()->DelItemOptionInfoAll();

			GAMEIN->GetExchangeDialog()->SetDisable( FALSE );
			GAMEIN->GetExchangeDialog()->SetActive( FALSE );

			if( !m_bInventoryActive )
			{
				ITEMMGR->SetDisableDialog( FALSE, eItemTable_Inventory );
				GAMEIN->GetInventoryDialog()->SetActive( FALSE );
			}

			cDialog* pDlg = WINDOWMGR->GetWindowForID( DBOX_EXCHANGE_MONEY );
			if( pDlg )
				WINDOWMGR->AddListDestroyWindow( pDlg );

			CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(329) );

			ExchangeEnd();
		}
		break;
	
	case MP_EXCHANGE_CANCEL_NACK:
		{
			GAMEIN->GetExchangeDialog()->SetDisable( FALSE );
		}
		break;

	case MP_EXCHANGE_CANCEL:
		{
			MSG_BYTE* msg = (MSG_BYTE*)pMsg;

			GAMEIN->GetExchangeDialog()->SetDisable( FALSE );	//üũ..ÀÓ½Ã.
			GAMEIN->GetInventoryDialog()->SetDisable( FALSE );

			//µ·ÀԷ¹öư Áö¿ì±â.	CONFIRM
			cDialog* pDlg = WINDOWMGR->GetWindowForID( DBOX_EXCHANGE_MONEY );
			if( pDlg )
				WINDOWMGR->AddListDestroyWindow( pDlg );
			

			////////¾ÆÀÌÅÛ ¿É¼Ç Á¦°Å : Active False Àü¿¡ ÇÒ°Í.
			GAMEIN->GetExchangeDialog()->DelItemOptionInfoAll();

			//±³È¯ÀÌ Ãë¼ÒµÇ¾ú¶§¿Í ±³È¯Çã¶ôÀ» ÇÏÁö ¾Ê¾ÒÀ»½Ã...
			GAMEIN->GetExchangeDialog()->SetActive( FALSE );
			if( !m_bInventoryActive )
				GAMEIN->GetInventoryDialog()->SetActive( FALSE );
			
			//½Åû¸Þ¼¼Áöµé Áö¿ì±â....
			
			pDlg = WINDOWMGR->GetWindowForID( MBI_EXCHANGEAPPLY);
			if( pDlg )
				WINDOWMGR->AddListDestroyWindow( pDlg );

			pDlg = WINDOWMGR->GetWindowForID( MBI_EXCHANGEWAITING );
			if( pDlg )
				WINDOWMGR->AddListDestroyWindow( pDlg );			

//error msg Ãâ·Â
			switch( msg->bData )
			{
				case eEE_USERCANCEL:
					CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(326) );
					break;
				case eEE_USERLOGOUT:
					CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(314) );
					break;
				case eEE_USERDIE:
					CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(313) );
					break;
				case eEE_DIE:
					CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(312) );
					break;
				case eEE_NOTENOUGHMONEY:
					CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(311) );
					break;
				case eEE_NOTENOUGHSPACE:
					CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(310) );
					break;
				case eEE_MAXMONEY:
					CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(309) );
					break;
				default:
					break;
			}

			ExchangeEnd();
		}
		break;

	case MP_EXCHANGE_SETMONEY:
		{
			MSG_DWORD* msg = (MSG_DWORD*)pMsg;
			HERO->SetMoney( msg->dwData );	//+Àκ¥Å丮
		}
		break;
		
	case MP_EXCHANGE_INSERT:
		{
			MSG_ITEM* msg = (MSG_ITEM*)pMsg;
			BOOL rt = GAMEIN->GetInventoryDialog()->AddItem(&msg->ItemInfo);
			ASSERT(rt);
			//¾ÆÀÌÅÛÀ» ³ÖÀ»¶§ ´Ù½Ã ¿É¼ÇÀ» ³Ö´Â´Ù.?

			QUICKMGR->RefreshQickItem();
		}
		break;

	case MP_EXCHANGE_REMOVE:
		{
			MSG_EXCHANGE_REMOVEITEM* msg = (MSG_EXCHANGE_REMOVEITEM*)pMsg;
			CItem* pOutItem = NULL;
			ITEMMGR->DeleteItem( msg->wAbsPosition, &pOutItem );

			//¿É¼ÇÀ» °¡Áø ¾ÆÀÌÅÛÀ̾ú´Ù¸é ¿É¼ÇÀÌ Áö¿öÁø´Ù. ÀÚµ¿À¸·Î.
		}
		break;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -