📄 handler_cg_warehouse.cpp
字号:
#include "StdAfx.h"
#include ".\handler_cg_warehouse.h"
#include ".\Player.h"
#include ".\PlayerManager.h"
#include <PacketStruct_DG.h>
#include "WarehouseSlotContainer.h"
Handler_CG_WAREHOUSE_IMPL(CG_WAREHOUSE_START_SYN)
{
MSG_CG_WAREHOUSE_START_SYN * pRecvMsg = (MSG_CG_WAREHOUSE_START_SYN *)pMsg;
Player * pPlayer = PlayerManager::Instance()->FindPlayer( pRecvMsg->m_dwKey );
ASSERT( pPlayer );
if( !pPlayer ) return ;
if( !pPlayer->GetField() ) return;
// 芒绊 矫累 惑怕
CWarehouseSlotContainer * pContainer = pPlayer->GetWarehouseContainer();
if( pContainer->IsStarted() )
{
MSG_CG_WAREHOUSE_START_NAK nmsg;
nmsg.m_dwErrorCode = RC::RC_WAREHOUSE_INVALID_STATE;
pPlayer->SendPacket( &nmsg, sizeof(nmsg) );
return;
}
MSG_DG_WAREHOUSE_START_SYN msg;
msg.m_dwKey = pRecvMsg->m_dwKey;
if( FALSE == pPlayer->SendToGameDBPServer( &msg, sizeof(msg) ) )
{
SUNLOG( eFULL_LOG, "[Handler_CG_WAREHOUSE_IMPL(CG_WAREHOUSE_START_SYN)] [ERROR]DBP俊菩哦(DG_WAREHOUSE_START_SYN)阑傈崔且荐绝嚼聪促." );
MSG_CG_WAREHOUSE_START_NAK nmsg;
nmsg.m_dwErrorCode = RC::RC_WAREHOUSE_NOT_AVAILABLE_SERVICE;
pPlayer->SendPacket( &nmsg, sizeof(nmsg) );
return;
}
}
Handler_CG_WAREHOUSE_IMPL(CG_WAREHOUSE_MONEY_SYN)
{
MSG_CG_WAREHOUSE_MONEY_SYN * pRecvMsg = (MSG_CG_WAREHOUSE_MONEY_SYN *)pMsg;
Player * pPlayer = PlayerManager::Instance()->FindPlayer( pRecvMsg->m_dwKey );
ASSERT( pPlayer );
if( !pPlayer ) return ;
if( !pPlayer->GetField() ) return;
// 芒绊 矫累 惑怕 眉农
CWarehouseSlotContainer * pContainer = pPlayer->GetWarehouseContainer();
if( !pContainer->IsStarted() )
{
MSG_CG_WAREHOUSE_MONEY_NAK nmsg;
nmsg.m_dwErrorCode = RC::RC_WAREHOUSE_INVALID_STATE;
pPlayer->SendPacket( &nmsg, sizeof(nmsg) );
return;
}
// GS父 快急 捣阑 涝陛 趣篮 免陛
BOOL rt = FALSE;
if( pRecvMsg->m_byType == MSG_CG_WAREHOUSE_MONEY_SYN::PUTMONEY )
{
// 芒绊俊 捣阑 持澜
if( pRecvMsg->m_Money <= pPlayer->GetMoney() )
{
if( pContainer->DepositMoney( pRecvMsg->m_Money ) )
{
// pPlayer->SetMoney( pPlayer->GetMoney() - pRecvMsg->m_Money );
pPlayer->MinusMoney( pRecvMsg->m_Money ); // SetMoney肺 捣 静绰 何盒 傈何 MinusMoney()肺 背眉吝(泅芒)
rt = TRUE;
}
}
}
else if( pRecvMsg->m_byType == MSG_CG_WAREHOUSE_MONEY_SYN::GETMONEY )
{
// 芒绊俊辑 捣阑 茫澜
if( pContainer->WithDrawMoney( pRecvMsg->m_Money ) )
{
// 免陛且 捣捞 乐促.
// pPlayer->SetMoney( pPlayer->GetMoney() + pRecvMsg->m_Money );
pPlayer->PlusMoney( pRecvMsg->m_Money ); // SetMoney肺 捣 冈绰 何盒 傈何 PlusMoney()肺 背眉吝(泅芒)
rt = TRUE;
}
}
if( TRUE == rt )
{
MSG_CG_WAREHOUSE_MONEY_ACK msg;
msg.m_InventoryMoney = pPlayer->GetMoney();
msg.m_WarehouseMoney = pContainer->GetCurMoney();
pPlayer->SendPacket( &msg, sizeof(msg) );
return;
}
else
{
MSG_CG_WAREHOUSE_MONEY_NAK nmsg;
nmsg.m_dwErrorCode = RC::RC_WAREHOUSE_INSUFFICIENT_MONEY;
pPlayer->SendPacket( &nmsg, sizeof(nmsg) );
return;
}
}
Handler_CG_WAREHOUSE_IMPL(CG_WAREHOUSE_END_SYN)
{
MSG_CG_WAREHOUSE_END_SYN * pRecvMsg = (MSG_CG_WAREHOUSE_END_SYN *)pMsg;
Player * pPlayer = PlayerManager::Instance()->FindPlayer( pRecvMsg->m_dwKey );
ASSERT( pPlayer );
if( !pPlayer ) return ;
if( !pPlayer->GetField() ) return;
// 芒绊 辆丰 惑怕
CWarehouseSlotContainer * pContainer = pPlayer->GetWarehouseContainer();
if( !pContainer->IsStarted() )
{
MSG_CG_WAREHOUSE_END_NAK nmsg;
nmsg.m_dwErrorCode = RC::RC_WAREHOUSE_INVALID_STATE;
pPlayer->SendPacket( &nmsg, sizeof(nmsg) );
return;
}
if( !pContainer->IsChanged() )
{
MSG_CG_WAREHOUSE_END_ACK amsg;
pPlayer->SendPacket( &amsg, sizeof(amsg) );
// 辆丰 惑怕肺 官厕
pContainer->EndWarehouse();
pContainer->ClearAll();
return;
}
// 角力 DB肺 Item Stream + 捣 历厘
// DBP俊辑档 官肺 历厘茄促?????
if( !pContainer->SaveWarehouseToDBP( TRUE ) )
{
MSG_CG_WAREHOUSE_END_NAK nmsg;
nmsg.m_dwErrorCode = RC::RC_WAREHOUSE_NOT_AVAILABLE_SERVICE;
pPlayer->SendPacket( &nmsg, sizeof(nmsg) );
return;
}
// 辆丰 惑怕肺 官厕
pContainer->EndWarehouse();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -