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

📄 dealdialog.cpp

📁 墨香最新私服
💻 CPP
📖 第 1 页 / 共 2 页
字号:

	m_pMoneyEdit->SetStaticText( AddComma( value ) );
}

BOOL CDealDialog::FakeMoveIcon(LONG x, LONG y, cIcon * icon)
{
	if( icon->GetType() == WT_STALLITEM || icon->GetType() == WT_EXCHANGEITEM ) return FALSE;
	
	if( icon->GetType() == WT_ITEM )
	{
		CItem * pItem = ( CItem * )icon;
		if( ITEMMGR->IsDupItem( pItem->GetItemIdx() ) && pItem->GetDurability() > 1 )
		{
			// 唱穿扁 芒 剁快扁
			BYTE tableIdx = ITEMMGR->GetTableIdxForAbsPos(pItem->GetPosition());
			m_sellMsg.Category			= MP_ITEM;
			m_sellMsg.Protocol			= MP_ITEM_SELL_SYN;
			m_sellMsg.dwObjectID		= HEROID;

			m_sellMsg.TargetPos			= pItem->GetPosition();
			m_sellMsg.SellItemNum		= pItem->GetDurability();
			m_sellMsg.wSellItemIdx		= pItem->GetItemIdx();
			m_sellMsg.dwDealerIdx		= m_DealerIdx;

			cDivideBox * pDivideBox = WINDOWMGR->DivideBox( DBOX_SELL, pItem->GetAbsX(), pItem->GetAbsY(),
				OnFakeSellItem, OnCancelSellItem, this, pItem, CHATMGR->GetChatMsg(186) );
			pDivideBox->SetValue( m_sellMsg.SellItemNum );
			pDivideBox->SetMaxValue( 5 );	//define?	//confirm
			//老窜 叼官捞靛 冠胶 俊辑父 阜澜. 瞒饶俊 皋技瘤 焊陈阑锭 阜绰 规过 绊妨秦辑 眠啊.
			SetDisable( TRUE );
			GAMEIN->GetInventoryDialog()->SetDisable( TRUE );
			return FALSE;
		}
		else
		{
			SetDisable( TRUE );
			GAMEIN->GetInventoryDialog()->SetDisable( TRUE );

			m_sellMsg.Category			= MP_ITEM;
			m_sellMsg.Protocol			= MP_ITEM_SELL_SYN;
			m_sellMsg.dwObjectID		= HEROID;

			m_sellMsg.TargetPos			= pItem->GetPosition();
			m_sellMsg.SellItemNum		= pItem->GetDurability();
			m_sellMsg.wSellItemIdx		= pItem->GetItemIdx();
			m_sellMsg.dwDealerIdx		= m_DealerIdx;
			

			

			cMsgBox* pMsgBox = WINDOWMGR->MsgBox( MBI_SELLITEM, MBT_YESNO, CHATMGR->GetChatMsg( 164 ), 
				pItem->GetItemInfo()->ItemName, AddComma( pItem->GetItemInfo()->SellPrice ) );
							
			return FALSE;
		}
	}
	return FALSE;
}

void CDealDialog::OnFakeSellItem( LONG iId, void* p, DWORD param1, void * vData1, void * vData2 )
{
	CDealDialog * tDlg = ( CDealDialog * )vData1;
	CItem* pItem = (CItem*)vData2;
	ASSERT( pItem );

	if( param1 == 0 ) 
	{
		ITEMMGR->SetDisableDialog(FALSE, eItemTable_Deal);
		ITEMMGR->SetDisableDialog(FALSE, eItemTable_Inventory);
		return;
	}

	tDlg->m_sellMsg.SellItemNum = (tDlg->m_sellMsg.SellItemNum > param1 ? param1 : tDlg->m_sellMsg.SellItemNum);

	WORD SellNum = tDlg->m_sellMsg.SellItemNum;
	if(ITEMMGR->IsOptionItem( tDlg->m_sellMsg.wSellItemIdx, tDlg->m_sellMsg.SellItemNum ))
		SellNum = 1;

	char temp[32];
	SafeStrCpy( temp, AddComma( pItem->GetItemInfo()->SellPrice ), 32 );
	cMsgBox* pMsgBox = WINDOWMGR->MsgBox( MBI_SELLITEM, MBT_YESNO, CHATMGR->GetChatMsg( 165 ), 
		pItem->GetItemInfo()->ItemName, SellNum, 
		temp,
		AddComma( pItem->GetItemInfo()->SellPrice * SellNum ) );
//困摹?
//	NETWORK->Send( &tDlg->m_sellMsg, sizeof(tDlg->m_sellMsg) );
}

void CDealDialog::OnCancelSellItem( LONG iId, void* p, DWORD param1, void * vData1, void * vData2 )
{
	CDealDialog * tDlg = ( CDealDialog * )vData1;

	tDlg->SetDisable( FALSE );
	GAMEIN->GetInventoryDialog()->SetDisable( FALSE );
}


void CDealDialog::SendSellItemMsg()
{
	// m_sellMsg促矫 茄锅 痢八
	//m_sellMsg.TargetPos			= pItem->GetPosition();
	//m_sellMsg.SellItemNum			= pItem->GetDurability();
	//m_sellMsg.wSellItemIdx		= pItem->GetItemIdx();
	WORD TargetTableIdx = ITEMMGR->GetTableIdxForAbsPos(m_sellMsg.TargetPos);
	CItem * pTargetItem = ITEMMGR->GetItemofTable(TargetTableIdx, m_sellMsg.TargetPos);
	if(!pTargetItem)
	{
		OnCancelSellItem(0, NULL, 0, this, NULL);
		return ;
	}

	if(m_sellMsg.wSellItemIdx != pTargetItem->GetItemIdx())
	{
		OnCancelSellItem(0, NULL, 0, this, NULL);
		return ;
	}
	if(m_sellMsg.SellItemNum > pTargetItem->GetDurability())
	{
		OnCancelSellItem(0, NULL, 0, this, NULL);
		return ;
	}

	NETWORK->Send( &m_sellMsg, sizeof(m_sellMsg) );
}
/*

void CDealDialog::CancelSellItem()
{
	SetDisable( FALSE );
	GAMEIN->GetInventoryDialog()->SetDisable( FALSE );
}

void CDealDialog::FakeSellItem( LONG mouseX, LONG mouseY, CItem * pItem, DURTYPE Dur )
{
	POSTYPE Pos = pItem->GetPosition();

	MSG_ITEM_SELL_SYN msg;
	msg.Category		= MP_ITEM;
	msg.Protocol		= MP_ITEM_SELL_SYN;
	msg.dwObjectID		= HEROID;
	msg.TargetPos		= Pos;
	msg.wSellItemIdx	= pItem->GetItemIdx();
	msg.SellItemNum		= Dur;

	NETWORK->Send(&msg,sizeof(msg));

}*/


void CDealDialog::OnSellPushed()
{
	CItem * pItem = GAMEIN->GetInventoryDialog()->GetCurSelectedItem(INV);
	if(pItem)
		FakeMoveIcon( pItem->GetAbsX() + 20, pItem->GetAbsY() + 20, (cIcon *)pItem);
}

void CDealDialog::OnFakeBuyItem( LONG iId, void* p, DWORD param1, void * vData1, void * vData2 )
{
/*	// 混荐 乐绰瘤 眉农 鞘
	tDlg->m_buyMsg.BuyItemNum	= param1;
	NETWORK->Send( &tDlg->m_buyMsg, sizeof(tDlg->m_buyMsg) );
*/
	if( param1 == 0 )
	{
		ITEMMGR->SetDisableDialog(FALSE, eItemTable_Deal);
		ITEMMGR->SetDisableDialog(FALSE, eItemTable_Inventory);
		return;
	}

	CDealDialog * tDlg = ( CDealDialog * )vData1;
	CDealItem* pItem = (CDealItem*)vData2;
	ASSERT( pItem );

	tDlg->m_buyMsg.BuyItemNum	= param1;
	
	
	MONEYTYPE BuyPrice = pItem->GetBuyPrice();
	if(MAP->IsVillage() == FALSE)
		BuyPrice *= 1.2;
	char temp[32];	//AddComma甫 2锅静瘤 付矫坷.
	SafeStrCpy( temp, AddComma( BuyPrice ), 32 );

	cMsgBox* pMsgBox = WINDOWMGR->MsgBox( MBI_BUYITEM, MBT_YESNO, CHATMGR->GetChatMsg( 166 ), 
		pItem->GetItemName(), tDlg->m_buyMsg.BuyItemNum, 
		temp, AddComma( BuyPrice * tDlg->m_buyMsg.BuyItemNum ) );
}

void CDealDialog::OnCancelBuyItem( LONG iId, void* p, DWORD param1, void * vData1, void * vData2 )
{
	CDealDialog * tDlg = ( CDealDialog * )vData1;
	tDlg->SetDisable( FALSE );
	GAMEIN->GetInventoryDialog()->SetDisable( FALSE );
}

void CDealDialog::OnBuyPushed()
{
	if(m_lCurSelItemPos == -1)
		return;
	
	cIconGridDialog * gridDlg = (cIconGridDialog *)GetTabSheet(GetCurTabNum());
	CDealItem* pItem = (CDealItem*)gridDlg->GetIconForIdx(m_lCurSelItemPos);

	if( pItem )
	{
		FakeBuyItem(pItem->GetAbsX()+20, pItem->GetAbsY()+20, pItem);
	}
}


void CDealDialog::SendBuyItemMsg()
{
	NETWORK->Send( &m_buyMsg, sizeof(m_buyMsg) );
}

void CDealDialog::CancelBuyItem()
{
	SetDisable( FALSE );
	GAMEIN->GetInventoryDialog()->SetDisable( FALSE );
}

void CDealDialog::FakeBuyItem(LONG x, LONG y, CDealItem* pItem)
{
	WORD itemIdx = pItem->GetItemIdx();
	if( itemIdx == 0 ) return;

	if( ITEMMGR->IsDupItem( itemIdx ) )
	{
		// 唱穿扁 芒 剁快扁
		m_buyMsg.Category		= MP_ITEM;
		m_buyMsg.Protocol		= MP_ITEM_BUY_SYN;
		m_buyMsg.dwObjectID		= HEROID;
		m_buyMsg.wBuyItemIdx	= itemIdx;
		m_buyMsg.dwDealerIdx	= m_DealerIdx;
		//m_buyMsg.BuyItemNum		= 0;

		cDivideBox * pDivideBox = WINDOWMGR->DivideBox( DBOX_BUY, x, y, OnFakeBuyItem, OnCancelBuyItem,
														this, pItem, CHATMGR->GetChatMsg(187) );
		if( !pDivideBox )
			return;

		pDivideBox->SetMaxValue( MAX_ITEMBUY_NUM );
		pDivideBox->SetValue(1);

		SetDisable( TRUE );
		GAMEIN->GetInventoryDialog()->SetDisable( TRUE );

	}
	else
	{
		if( HERO->GetMoney() < pItem->GetBuyPrice() )
		{
			//捣捞 何练钦聪促.
			CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(117) );
			return;			
		}
		
		SetDisable( TRUE );
		GAMEIN->GetInventoryDialog()->SetDisable( TRUE );

		m_buyMsg.Category		= MP_ITEM;
		m_buyMsg.Protocol		= MP_ITEM_BUY_SYN;
		m_buyMsg.dwObjectID		= HEROID;
		m_buyMsg.wBuyItemIdx	= itemIdx;
		m_buyMsg.dwDealerIdx	= m_DealerIdx;
		m_buyMsg.BuyItemNum		= 1;

		//msgbox鹅快扁
		MONEYTYPE BuyPrice = pItem->GetBuyPrice();
		if(MAP->IsVillage() == FALSE)
			BuyPrice  *= 1.2;
		cMsgBox* pMsgBox = WINDOWMGR->MsgBox( MBI_BUYITEM, MBT_YESNO, CHATMGR->GetChatMsg( 167 ), 
			pItem->GetItemName(), AddComma( BuyPrice ) );

	}
}

void CDealDialog::SetActive(BOOL val)
{
	if( m_bDisable ) return;	

	if(val == FALSE)
	{
		HideDealer();
	}
	cTabDialog::SetActive(val);
}
void CDealDialog::OnActionEvnet(LONG lId, void * p, DWORD we)
{
	if(/*we == WE_RBTNCLICK ||*/ we == WE_LBTNDBLCLICK)
	{
		OnBuyPushed();
	}
}

⌨️ 快捷键说明

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