📄 gcmonsterkillquestinfo.cpp
字号:
//////////////////////////////////////////////////////////////////////////////// Filename : GCMonsterKillQuestInfo.cpp // Written By : Reiot// Description : //////////////////////////////////////////////////////////////////////////////#include "GCMonsterKillQuestInfo.h"#include "Assert.h"const int GCMonsterKillQuestInfo::szQuestInfo = szQuestID + szSpriteType + szWORD + szDWORD;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////GCMonsterKillQuestInfo::~GCMonsterKillQuestInfo() throw (){ __BEGIN_TRY list<QuestInfo*>::iterator itr = m_QuestInfoList.begin(); list<QuestInfo*>::iterator endItr = m_QuestInfoList.end(); for ( ; itr != endItr ; ++itr ) { if ( (*itr) != NULL ) SAFE_DELETE( (*itr) ); } m_QuestInfoList.clear(); __END_CATCH}//////////////////////////////////////////////////////////////////////////////// 涝仿胶飘覆(滚欺)栏肺何磐 单捞鸥甫 佬绢辑 菩哦阑 檬扁拳茄促.//////////////////////////////////////////////////////////////////////////////void GCMonsterKillQuestInfo::read ( SocketInputStream & iStream ) throw ( ProtocolException , Error ){ __BEGIN_TRY BYTE num; iStream.read( num ); for ( int i=0; i<num; ++i ) { QuestInfo* pQI = new QuestInfo; iStream.read( pQI->questID ); iStream.read( pQI->sType ); iStream.read( pQI->goal ); iStream.read( pQI->timeLimit ); addQuestInfo( pQI ); } __END_CATCH} //////////////////////////////////////////////////////////////////////////////// 免仿胶飘覆(滚欺)栏肺 菩哦狼 官捞呈府 捞固瘤甫 焊辰促.//////////////////////////////////////////////////////////////////////////////void GCMonsterKillQuestInfo::write ( SocketOutputStream & oStream ) const throw ( ProtocolException , Error ){ __BEGIN_TRY Assert( m_QuestInfoList.size() <= maxQuestNum ); BYTE num = m_QuestInfoList.size(); oStream.write(num); list<QuestInfo*>::const_iterator itr = m_QuestInfoList.begin(); for ( int i=0; i<num; i++ ) { oStream.write( (*itr)->questID ); oStream.write( (*itr)->sType ); oStream.write( (*itr)->goal ); oStream.write( (*itr)->timeLimit ); ++itr; } __END_CATCH}//////////////////////////////////////////////////////////////////////////////// execute packet's handler//////////////////////////////////////////////////////////////////////////////void GCMonsterKillQuestInfo::execute ( Player * pPlayer ) throw ( ProtocolException , Error ){ __BEGIN_TRY GCMonsterKillQuestInfoHandler::execute( this , pPlayer ); __END_CATCH}PacketSize_t GCMonsterKillQuestInfo::getPacketSize() const throw(){ __BEGIN_TRY PacketSize_t result = 0; result += szBYTE + szQuestInfo * m_QuestInfoList.size(); return result; __END_CATCH}//////////////////////////////////////////////////////////////////////////////// get packet's debug string//////////////////////////////////////////////////////////////////////////////string GCMonsterKillQuestInfo::toString () const throw (){ __BEGIN_TRY StringStream msg; msg << "GCMonsterKillQuestInfo("; list<QuestInfo*>::const_iterator itr = m_QuestInfoList.begin(); for( ; itr != m_QuestInfoList.end() ; itr++ ) { msg << "< " << (*itr)->questID << ", " << (*itr)->sType << ", " << (*itr)->goal << ", " << (*itr)->timeLimit << " >"; } msg << ")"; return msg.toString(); __END_CATCH}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -