📄 dealdialog.cpp
字号:
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 + -