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

📄 gcgoodslist.cpp

📁 dk1游戏的原代码文件,完整.编译系统redhat7.3,mysql 3.23 ,luascript v4.0 support
💻 CPP
字号:
//////////////////////////////////////////////////////////////////////////////// Filename    : GCGoodsList.cpp // Written By  : 辫己刮// Description : //////////////////////////////////////////////////////////////////////////////#include "GCGoodsList.h"#include "Assert.h"#ifdef __GAME_SERVER__	#include "Item.h"	#include "ItemInfoManager.h"	#include "Inventory.h"	#include "AR.h"	#include "SR.h"	#include "SG.h"	#include "SMG.h"	#include "Belt.h"#endif//////////////////////////////////////////////////////////////////////////////// constructor//////////////////////////////////////////////////////////////////////////////GCGoodsList::GCGoodsList() 	throw (){	__BEGIN_TRY	m_GoodsList.clear(); 	__END_CATCH}//////////////////////////////////////////////////////////////////////////////// destructor//////////////////////////////////////////////////////////////////////////////GCGoodsList::~GCGoodsList() 	throw (){	__BEGIN_TRY	list<GoodsInfo*>::iterator itr = m_GoodsList.begin();	list<GoodsInfo*>::iterator endItr = m_GoodsList.end();	for ( ; itr != endItr ; ++itr )	{		if ( *itr != NULL ) SAFE_DELETE(*itr);	}	m_GoodsList.clear();		__END_CATCH}//////////////////////////////////////////////////////////////////////////////// 涝仿胶飘覆(滚欺)栏肺何磐 单捞鸥甫 佬绢辑 菩哦阑 檬扁拳茄促.//////////////////////////////////////////////////////////////////////////////void GCGoodsList::read ( SocketInputStream & iStream ) 	 throw ( ProtocolException , Error ){	__BEGIN_TRY	BYTE totalNum;	iStream.read( totalNum );	if ( totalNum > MAX_GOODS_LIST ) throw DisconnectException("GCGoodsList : 拱扒 俺荐啊 力茄阑 檬苞沁嚼聪促.");	for ( int i=0; i < totalNum ; ++i )	{		GoodsInfo* pGI = new GoodsInfo;		iStream.read( pGI->objectID );		iStream.read( pGI->itemClass );		iStream.read( pGI->itemType );		iStream.read( pGI->grade );		BYTE optionNum;		iStream.read( optionNum );		pGI->optionType.clear();		for ( int j=0; j < optionNum ; ++j )		{			OptionType_t optionType;			iStream.read( optionType );			pGI->optionType.push_back( optionType );		}				iStream.read( pGI->num );		iStream.read( pGI->timeLimit );		addGoodsInfo( pGI );	}	__END_CATCH}		    //////////////////////////////////////////////////////////////////////////////// 免仿胶飘覆(滚欺)栏肺 菩哦狼 官捞呈府 捞固瘤甫 焊辰促.//////////////////////////////////////////////////////////////////////////////void GCGoodsList::write ( SocketOutputStream & oStream ) const      throw ( ProtocolException , Error ){	__BEGIN_TRY	__BEGIN_DEBUG			BYTE totalNum = m_GoodsList.size();	if ( totalNum > MAX_GOODS_LIST ) throw DisconnectException("GCGoodsList : 酒捞袍 俺荐啊 撇妨冈菌嚼聪促.");	oStream.write( totalNum );		list<GoodsInfo*>::const_iterator itr = m_GoodsList.begin();	list<GoodsInfo*>::const_iterator endItr = m_GoodsList.end();	for ( ; itr != endItr ; ++itr )	{		GoodsInfo* pGI = *itr;		Assert( pGI != NULL );		oStream.write( pGI->objectID );		oStream.write( pGI->itemClass );		oStream.write( pGI->itemType );		oStream.write( pGI->grade );				BYTE optionNum = pGI->optionType.size();		oStream.write( optionNum );		list<OptionType_t>::const_iterator oitr = pGI->optionType.begin();		list<OptionType_t>::const_iterator endoItr = pGI->optionType.end();		for ( ; oitr != endoItr ; ++oitr )		{			oStream.write( *oitr );		}		oStream.write( pGI->num );		oStream.write( pGI->timeLimit );	}	__END_DEBUG	__END_CATCH}//////////////////////////////////////////////////////////////////////////////// execute packet's handler//////////////////////////////////////////////////////////////////////////////void GCGoodsList::execute ( Player * pPlayer ) 	 throw ( ProtocolException , Error ){	__BEGIN_TRY	__BEGIN_DEBUG			GCGoodsListHandler::execute( this , pPlayer );	__END_DEBUG	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////PacketSize_t GCGoodsList::getPacketSize () const 	throw (){ 	__BEGIN_TRY	__BEGIN_DEBUG	PacketSize_t size = szBYTE;	list<GoodsInfo*>::const_iterator itr = m_GoodsList.begin();	list<GoodsInfo*>::const_iterator endItr = m_GoodsList.end();	for ( ; itr != endItr ; ++itr )	{		size += (*itr)->getPacketSize();	}	return size;	__END_DEBUG	__END_CATCH}//////////////////////////////////////////////////////////////////////////////// get packet's debug string//////////////////////////////////////////////////////////////////////////////string GCGoodsList::toString () const       throw (){	__BEGIN_TRY			StringStream msg;	msg << "GCGoodsList(";	list<GoodsInfo*>::const_iterator itr = m_GoodsList.begin();	list<GoodsInfo*>::const_iterator endItr = m_GoodsList.end();	for ( ; itr != endItr ; ++itr )	{		msg << (*itr)->toString();	}	msg << ")";	return msg.toString();			__END_CATCH}

⌨️ 快捷键说明

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