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

📄 gcgoodslist.h

📁 dk1游戏的原代码文件,完整.编译系统redhat7.3,mysql 3.23 ,luascript v4.0 support
💻 H
字号:
//////////////////////////////////////////////////////////////////////////////// Filename    : GCGoodsList.h // Written By  : 辫己刮// Description : //////////////////////////////////////////////////////////////////////////////#ifndef __GC_GOODS_LIST_H__#define __GC_GOODS_LIST_H__#include "Packet.h"#include "PacketFactory.h"#include "SubItemInfo.h"#include <list>#define MAX_GOODS_LIST 20typedef struct _GoodsInfo{	int getPacketSize() const	{ 		return szObjectID + 				szBYTE + 				szItemType + 				szGrade +				szBYTE + optionType.size() +				szItemNum +				szDWORD;	}	static int getPacketMaxSize() 	{ 		return szObjectID + 				szBYTE + 				szItemType + 				szGrade +				szBYTE + 255 +				szItemNum +				szDWORD;	}	string toString() const	{		StringStream msg;		msg << "Good( "			<< "ObjectID : " << objectID			<< ", ItemClass : " << (int)itemClass			<< ", ItemType : " << itemType			<< ", Grade : " << grade			<< ", Options : (";		list<OptionType_t>::const_iterator itr = optionType.begin();		list<OptionType_t>::const_iterator endItr = optionType.end();		for ( ; itr != endItr ; ++itr )		{			msg << *itr << ", ";		}		msg << "), Num : " << num			<< ", TimeLimit : " << timeLimit;		return msg.toString();	}	ObjectID_t     		objectID;	BYTE           		itemClass;	ItemType_t     		itemType;	Grade_t				grade;	list<OptionType_t>  optionType;	ItemNum_t      		num;	DWORD				timeLimit;} GoodsInfo;//////////////////////////////////////////////////////////////////////////////// class GCGoodsList;//////////////////////////////////////////////////////////////////////////////class Item;class GCGoodsList : public Packet {public:	GCGoodsList() throw();	virtual ~GCGoodsList() throw();	void read(SocketInputStream & iStream) throw(ProtocolException, Error);	void write(SocketOutputStream & oStream) const throw(ProtocolException, Error);	void execute(Player* pPlayer) throw(ProtocolException, Error);	PacketID_t getPacketID() const throw() { return PACKET_GC_GOODS_LIST; }	PacketSize_t getPacketSize() const throw();	string getPacketName() const throw() { return "GCGoodsList"; }	string toString() const throw();public:	void		addGoodsInfo( GoodsInfo* pGI ) { m_GoodsList.push_back( pGI ); }	GoodsInfo*	popGoodsInfo( ) { GoodsInfo* pRet = m_GoodsList.front(); if ( pRet ) m_GoodsList.pop_front(); return pRet; }private:	list<GoodsInfo*> m_GoodsList;};//////////////////////////////////////////////////////////////////////////////// class GCGoodsListFactory;//////////////////////////////////////////////////////////////////////////////class GCGoodsListFactory : public PacketFactory {public :	Packet* createPacket() throw() { return new GCGoodsList(); }	string getPacketName() const throw() { return "GCGoodsList"; }	PacketID_t getPacketID() const throw() { return Packet::PACKET_GC_GOODS_LIST; }	PacketSize_t getPacketMaxSize() const throw() 	{ 		PacketSize_t size = szBYTE;		size += GoodsInfo::getPacketMaxSize() * MAX_GOODS_LIST;		return size;	}};//////////////////////////////////////////////////////////////////////////////// class GCGoodsListHandler;//////////////////////////////////////////////////////////////////////////////class GCGoodsListHandler {public :	static void execute(GCGoodsList* pPacket, Player* pPlayer) throw(ProtocolException, Error);};#endif

⌨️ 快捷键说明

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