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

📄 trademanager.h

📁 奇迹世界 部分源代码奇迹世界 部分源代码奇迹世界 部分源代码
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -