cgtypestringlist.h
来自「dk1游戏的原代码文件,完整.编译系统redhat7.3,mysql 3.23 」· C头文件 代码 · 共 105 行
H
105 行
//////////////////////////////////////////////////////////////////////////////// Filename : CGTypeStringList.h // Written By : reiot@ewestsoft.com// Description : //////////////////////////////////////////////////////////////////////////////#ifndef __CG_TYPE_STRING_LIST_H__#define __CG_TYPE_STRING_LIST_H__#include "Packet.h"#include "PacketFactory.h"#include <list>#define MAX_STRING_LENGTH 50#define MAX_STRING_NUM 20//////////////////////////////////////////////////////////////////////////////// class CGTypeStringList;//////////////////////////////////////////////////////////////////////////////class CGTypeStringList : public Packet {public: enum StringType { STRING_TYPE_WAIT_FOR_MEET, STRING_TYPE_WAIT_FOR_APART, STRING_TYPE_FORCE_APART_COUPLE };public: CGTypeStringList() throw(); ~CGTypeStringList() throw();public: 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_CG_TYPE_STRING_LIST; } PacketSize_t getPacketSize() const throw() { PacketSize_t ret = szBYTE; ret+=szBYTE; list<string>::const_iterator itr = m_StringList.begin(); for( ; itr != m_StringList.end(); ++itr ) { ret += szBYTE + (*itr).size(); } ret += szDWORD; return ret; } string getPacketName() const throw() { return "CGTypeStringList"; } string toString() const throw(); public: void setType( StringType type ) { m_StringType = type; } BYTE getType() const { return m_StringType; } void addString( string str ) { m_StringList.push_back( str ); } void clearString() { m_StringList.clear(); } int getSize() const { return m_StringList.size(); } string popString() { string ret = m_StringList.front(); m_StringList.pop_front(); return ret; } void setParam( DWORD param ) { m_Param = param; } DWORD getParam() const { return m_Param; }private: BYTE m_StringType; list<string> m_StringList; DWORD m_Param;};//////////////////////////////////////////////////////////////////////////////// class CGTypeStringListFactory;//////////////////////////////////////////////////////////////////////////////class CGTypeStringListFactory : public PacketFactory {public: Packet* createPacket() throw() { return new CGTypeStringList(); } string getPacketName() const throw() { return "CGTypeStringList"; } PacketID_t getPacketID() const throw() { return Packet::PACKET_CG_TYPE_STRING_LIST; } PacketSize_t getPacketMaxSize() const throw() { return szBYTE + szBYTE + ( szBYTE + MAX_STRING_LENGTH ) * MAX_STRING_NUM + szDWORD; }};//////////////////////////////////////////////////////////////////////////////// class CGTypeStringListHandler;//////////////////////////////////////////////////////////////////////////////class CGTypeStringListHandler {public: static void execute(CGTypeStringList* pPacket, Player* player) throw(ProtocolException, Error);private: static void executeWaitForMeet(CGTypeStringList* pPacket, Player* player) throw(ProtocolException, Error); static void executeWaitForApart(CGTypeStringList* pPacket, Player* player) throw(ProtocolException, Error); static void executeApartForce(CGTypeStringList* pPacket, Player* pPlayer ) throw(ProtocolException, Error);};#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?