pcvampireinfo3.h
来自「天之炼狱1服务器端源文件游戏服务端不完整」· C头文件 代码 · 共 235 行
H
235 行
//////////////////////////////////////////////////////////////////////////////// Filename : PCVampireInfo3.h// Written By : Reiot// Description ://////////////////////////////////////////////////////////////////////////////#ifndef __PC_VAMPIRE_INFO_3_H__#define __PC_VAMPIRE_INFO_3_H__#include "PCInfo.h"#include "Assert.h"//////////////////////////////////////////////////////////////////////////////// class PCVampireInfo3;// 轨颇捞绢狼 寇葛 沥焊甫 淬绊 乐绰 按眉// GCAddSlayer, GCAddVampireCorpse 俊 淬败辑 傈价等促.//////////////////////////////////////////////////////////////////////////////class PCVampireInfo3 : public PCInfo {public: // Vampire Color Informations enum VampireColors { VAMPIRE_COLOR_BAT , VAMPIRE_COLOR_SKIN , VAMPIRE_COLOR_COAT1 , VAMPIRE_COLOR_COAT2 , VAMPIRE_COLOR_MAX };public: PCVampireInfo3 () throw () { } PCVampireInfo3 (const PCVampireInfo3 & vampireInfo) throw () : m_ObjectID(vampireInfo.m_ObjectID), m_Name(vampireInfo.m_Name), m_X(vampireInfo.m_X), m_Y(vampireInfo.m_Y), m_Dir(vampireInfo.m_Dir), m_Sex(vampireInfo.m_Sex), m_CoatType(vampireInfo.m_CoatType), m_CurrentHP(vampireInfo.m_CurrentHP), m_MaxHP(vampireInfo.m_MaxHP), m_AttackSpeed(vampireInfo.m_AttackSpeed), m_Alignment(vampireInfo.m_Alignment), m_Shape(vampireInfo.m_Shape), m_GuildID(vampireInfo.m_GuildID), m_Rank(vampireInfo.m_Rank) { for (uint i = 0 ; i < VAMPIRE_COLOR_MAX ; i ++) m_Colors[i] = vampireInfo.m_Colors[i]; m_Competence = vampireInfo.m_Competence; } public: PCType getPCType () const throw () { return PC_VAMPIRE; } void read (SocketInputStream & iStream) throw (ProtocolException, Error); void write (SocketOutputStream & oStream) const throw (ProtocolException, Error); uint getSize () const throw () { return szObjectID // ObjectID + szBYTE + m_Name.size() // 轨颇捞绢 捞抚 + szCoord + szCoord + szDir // 谅钎客 规氢 + szSex // 己喊 + szBYTE // coatType + szColor* VAMPIRE_COLOR_MAX // 祸惑 + szHP* 2 // 弥措 眉仿 + szAlignment // 己氢 + szShape // 葛剧 + szSpeed // 傍拜 加档 + szGuildID // 辨靛 酒捞叼 + szRank // 拌鞭 + szBYTE; // 鼻茄 } // get max size of object static uint getMaxSize () throw () { return szObjectID // ObjectID + szBYTE + 20 // 轨颇捞绢 捞抚 + szCoord + szCoord + szDir // 谅钎客 规氢 + szSex // 己喊 + szBYTE // coatType + szColor* VAMPIRE_COLOR_MAX // 祸惑 + szHP* 2 // 弥措 眉仿 + szShape // 葛剧 + szSpeed // 傍拜 加档 + szGuildID // 辨靛 酒捞叼 + szRank // 拌鞭 + szBYTE; // 鼻茄 } PCVampireInfo3 & operator = (const PCVampireInfo3 & vampireInfo) throw () { if (&vampireInfo == this) return *this; m_ObjectID = vampireInfo.m_ObjectID; m_Name = vampireInfo.m_Name; m_X = vampireInfo.m_X; m_Y = vampireInfo.m_Y; m_Dir = vampireInfo.m_Dir; m_Sex = vampireInfo.m_Sex; m_CoatType = vampireInfo.m_CoatType; m_CurrentHP = vampireInfo.m_CurrentHP; m_MaxHP = vampireInfo.m_MaxHP; m_AttackSpeed = vampireInfo.m_AttackSpeed; m_Alignment = vampireInfo.m_Alignment; m_Shape = vampireInfo.m_Shape; for (uint i = 0 ; i < VAMPIRE_COLOR_MAX ; i ++) m_Colors[i] = vampireInfo.m_Colors[i]; m_Competence = vampireInfo.m_Competence; m_GuildID = vampireInfo.m_GuildID; m_Rank = vampireInfo.m_Rank; return *this; } string toString () const throw ();public: ObjectID_t getObjectID () const throw () { return m_ObjectID; } void setObjectID (ObjectID_t objectID) throw () { m_ObjectID = objectID; } string getName () const throw () { return m_Name; } void setName (const string & name) throw (Error) { m_Name = name; Assert(m_Name != ""); } Coord_t getX () const throw () { return m_X; } void setX (Coord_t x) throw () { m_X = x; } Coord_t getY () const throw () { return m_Y; } void setY (Coord_t y) throw () { m_Y = y; } Dir_t getDir () const throw () { return m_Dir; } void setDir (Dir_t dir) throw () { m_Dir = dir; } Sex getSex () const throw () { return m_Sex; } void setSex (Sex sex) throw () { m_Sex = sex; } void setSex (const string & sex) throw (InvalidProtocolException) { if (sex == Sex2String[MALE]) m_Sex = MALE; else if (sex == Sex2String[FEMALE]) m_Sex = FEMALE; else throw InvalidProtocolException("invalid sex value"); } Color_t getBatColor () const throw () { return m_Colors[VAMPIRE_COLOR_BAT]; } void setBatColor (Color_t batColor) throw () { m_Colors[VAMPIRE_COLOR_BAT] = batColor; } Color_t getSkinColor () const throw () { return m_Colors[VAMPIRE_COLOR_SKIN]; } void setSkinColor (Color_t skinColor) throw () { m_Colors[VAMPIRE_COLOR_SKIN] = skinColor; } ItemType_t getCoatType() const throw() { return m_CoatType; } void setCoatType(ItemType_t CoatType) throw() { m_CoatType = CoatType; } Color_t getCoatColor (ColorType colorType = MAIN_COLOR) const throw () { return m_Colors[VAMPIRE_COLOR_COAT1 + (int)colorType]; } void setCoatColor (Color_t coatColor, ColorType colorType = MAIN_COLOR) throw () { m_Colors[VAMPIRE_COLOR_COAT1 + (int)colorType] = coatColor; } HP_t getCurrentHP() const throw() { return m_CurrentHP; } void setCurrentHP(HP_t CurrentHP) throw() { m_CurrentHP = CurrentHP; } HP_t getMaxHP() const throw() { return m_MaxHP; } void setMaxHP(HP_t MaxHP) throw() { m_MaxHP = MaxHP; } Speed_t getAttackSpeed() const throw() { return m_AttackSpeed; } void setAttackSpeed(Speed_t AttackSpeed) throw() { m_AttackSpeed = AttackSpeed; } Alignment_t getAlignment() const throw() { return m_Alignment; } void setAlignment(Alignment_t Alignment) throw() { m_Alignment = Alignment; } Shape_t getShape() const throw() { return m_Shape; } void setShape(Shape_t Shape) throw() { m_Shape = Shape; } BYTE getCompetence(void) const { return m_Competence; } void setCompetence(BYTE competence) { m_Competence = competence; } GuildID_t getGuildID(void) const { return m_GuildID; } void setGuildID(GuildID_t GuildID ) { m_GuildID = GuildID; } Rank_t getRank () const throw () { return m_Rank; } void setRank (Rank_t rank) throw () { m_Rank = rank; }private : // PC's object id ObjectID_t m_ObjectID; // PC name string m_Name; Coord_t m_X; Coord_t m_Y; Dir_t m_Dir; // PC sex Sex m_Sex; // CoatType ItemType_t m_CoatType; // colors Color_t m_Colors[VAMPIRE_COLOR_MAX]; // Current HP HP_t m_CurrentHP; // Max HP HP_t m_MaxHP; // Attack Speed Speed_t m_AttackSpeed; // 己氢 Alignment_t m_Alignment; // 轨颇捞绢 葛剧 Shape_t m_Shape; // 鼻茄 BYTE m_Competence; // 辨靛 酒捞叼 GuildID_t m_GuildID; // 拌鞭 Rank_t m_Rank;};#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?