trademanager.h
来自「奇迹世界 部分源代码奇迹世界 部分源代码奇迹世界 部分源代码」· C头文件 代码 · 共 52 行
H
52 行
#pragma once
#include <MemoryPoolFactory.h>
#include <SolarHashTable.h>
#include "TradeSlotContainer.h"
class SCSlotContainer;
class TradeSlot;
class TradeManager
{
public:
TradeManager(void);
~TradeManager(void);
VOID Init( DWORD maxPoolSize );
VOID Release();
//PutMoney( );
BOOL CreateTradeContainer( Player * pPlayer1, Player * pPlayer2 );
BOOL DestroyTradeContainer( Player * pPlayer );
// 酒捞袍阑 棵妨初绰促.
RC::eTRADE_RESULT PutItem( Player * pPlayer, POSTYPE org_pos, POSTYPE & OUT trade_pos, ITEMSTREAMEX & OUT trade_itemStream );
// 酒捞袍阑 猾促.
RC::eTRADE_RESULT TakeItem( Player * pPlayer, POSTYPE trade_pos );
// 捣阑 棵妨初绰促.
RC::eTRADE_RESULT PutMoney( Player * pPlayer, MONEY & IN money );
// 捣阑 猾促.
RC::eTRADE_RESULT TakeMoney( Player * pPlayer, MONEY & IN money );
RC::eTRADE_RESULT Proposal( Player * pPlayer );
RC::eTRADE_RESULT Modify( Player * pPlayer );
RC::eTRADE_RESULT Exchange( Player * pPlayer1, TRADE_TOTAL_INFO & OUT rTradeInfo1, MONEY & OUT money1, TRADE_TOTAL_INFO & OUT rTradeInfo2, MONEY & OUT money2 );
BOOL ValidState( Player * pPlayer );
private:
TradeSlotContainer * _Create(){ return m_pTradePool.Alloc(); }
VOID _Destroy( TradeSlotContainer * pUnit ) { m_pTradePool.Free(pUnit); }
private:
VOID _GiveItem( SCSlotContainer * pContainer, TradeSlot ** ppSlot, POSTYPE & INOUT num, TRADE_TOTAL_INFO & OUT Info, BYTE & OUT Count );
DWORD m_TradeKey;
util::CMemoryPoolFactory<TradeSlotContainer> m_pTradePool;
};
extern TradeManager g_TradeManager;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?