📄 gcnpcinfo.cpp
字号:
//-------------------------------------------------------------------------------- // // Filename : GCNPCInfo.cpp // Written By : reiot@ewestsoft.com// Description : // //--------------------------------------------------------------------------------// include files#include "GCNPCInfo.h"#include "PCSlayerInfo2.h"#include "PCVampireInfo2.h"#include "Assert.h"// for client.. by sigi#ifndef SAFE_DELETE #define SAFE_DELETE(p) if (p!=NULL) { delete p; p=NULL; }#endif//--------------------------------------------------------------------------------// constructor//--------------------------------------------------------------------------------GCNPCInfo::GCNPCInfo () throw (){}//--------------------------------------------------------------------------------// destructor//--------------------------------------------------------------------------------GCNPCInfo::~GCNPCInfo () throw (){#ifdef __GAME_CLIENT__ list<NPCInfo*>::iterator itr = m_NPCInfos.begin(); for (; itr != m_NPCInfos.end(); itr++) { NPCInfo* pInfo = *itr; SAFE_DELETE(pInfo); }#else m_NPCInfos.clear();#endif}//--------------------------------------------------------------------------------// 涝仿胶飘覆(滚欺)栏肺何磐 单捞鸥甫 佬绢辑 菩哦阑 檬扁拳茄促.//--------------------------------------------------------------------------------void GCNPCInfo::read ( SocketInputStream & iStream ) throw ( ProtocolException , Error ){ __BEGIN_TRY ////////////////////////////////////////////////// // read npc info ////////////////////////////////////////////////// BYTE NPCInfoCount = 0; iStream.read(NPCInfoCount); for (BYTE nc=0; nc<NPCInfoCount; nc++) { NPCInfo* pInfo = new NPCInfo; pInfo->read(iStream); addNPCInfo(pInfo); } __END_CATCH} //--------------------------------------------------------------------------------// 免仿胶飘覆(滚欺)栏肺 菩哦狼 官捞呈府 捞固瘤甫 焊辰促.//--------------------------------------------------------------------------------void GCNPCInfo::write ( SocketOutputStream & oStream ) const throw ( ProtocolException , Error ){ __BEGIN_TRY ////////////////////////////////////////////////// // write npc info ////////////////////////////////////////////////// BYTE NPCInfoCount = m_NPCInfos.size(); oStream.write(NPCInfoCount); list<NPCInfo*>::const_iterator itr = m_NPCInfos.begin(); for (; itr != m_NPCInfos.end(); itr++) { NPCInfo* pInfo = *itr; pInfo->write(oStream); } __END_CATCH}//--------------------------------------------------------------------------------// execute packet's handler//--------------------------------------------------------------------------------void GCNPCInfo::execute ( Player * pPlayer ) throw ( ProtocolException , Error ){ __BEGIN_TRY GCNPCInfoHandler::execute( this , pPlayer ); __END_CATCH}//--------------------------------------------------------------------------------// get packet's debug string//--------------------------------------------------------------------------------string GCNPCInfo::toString () const throw (){ __BEGIN_TRY StringStream msg; msg << "GCNPCInfo(" << "NPCInfos:"; list<NPCInfo*>::const_iterator itr = m_NPCInfos.begin(); for (; itr != m_NPCInfos.end(); itr++) { NPCInfo* pInfo = *itr; msg << pInfo->toString(); } msg << ")"; return msg.toString(); __END_CATCH}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -