pciteminfo.h

来自「天之炼狱1服务器端源文件游戏服务端不完整」· C头文件 代码 · 共 145 行

H
145
字号
//////////////////////////////////////////////////////////////////////////////// Filename    : PCItemInfo.h// Written By  : elca// Description :// 酒捞袍 窍唱俊 措茄 沥焊甫 啊瘤绊 乐绰 菩哦捞促.// 谅钎扼电瘤, 捞棋飘俊 包茄 沥焊绰 啊瘤绊 乐瘤 臼促.// 牢亥配府客 包访等 咯矾 焙单俊辑 惑加登绢 荤侩等促.//////////////////////////////////////////////////////////////////////////////#ifndef __SLAYER_ITEM_INFO_H__#define __SLAYER_ITEM_INFO_H__#include "Types.h"#include "Exception.h"#include "SocketInputStream.h"#include "SocketOutputStream.h"#include "SubItemInfo.h"#include "Assert.h"//////////////////////////////////////////////////////////////////////////////// class PCItemInfo//////////////////////////////////////////////////////////////////////////////class PCItemInfo {public:	PCItemInfo() throw();	virtual ~PCItemInfo() throw();public:	void read (SocketInputStream & iStream) throw (ProtocolException, Error);	void write (SocketOutputStream & oStream) const throw (ProtocolException, Error);	string toString() const throw();public:	void setObjectID(ObjectID_t ObjectID) throw() { m_ObjectID = ObjectID; }	ObjectID_t getObjectID() const throw() { return m_ObjectID; }	void setItemClass (BYTE IClass) throw() { m_IClass = IClass; }	BYTE getItemClass () const throw() { return m_IClass; }	void setItemType (ItemType_t ItemType) throw() { m_ItemType = ItemType; }	ItemType_t getItemType() const throw() { return m_ItemType; }	void addOptionType(OptionType_t OptionType) throw() { m_OptionType.push_back( OptionType ); }	void setOptionType(const list<OptionType_t>& OptionType) throw() { m_OptionType = OptionType; }	int getOptionTypeSize() const throw() { return m_OptionType.size(); }	const list<OptionType_t>& getOptionType() const throw() { return m_OptionType; }	OptionType_t popOptionType() throw() 	{ 		if (m_OptionType.empty()) return 0;		OptionType_t optionType = m_OptionType.front(); 		m_OptionType.pop_front(); 		return optionType; 	}	void setSilver(Silver_t amount) throw() { m_Silver = amount; }	Silver_t getSilver() const throw() { return m_Silver; }	void setGrade(Grade_t grade) throw() { m_Grade = grade; }	Grade_t getGrade() const throw() { return m_Grade; }	void setDurability(Durability_t Durability) throw() { m_Durability = Durability; }	Durability_t getDurability() const throw() { return m_Durability; }	void setEnchantLevel(EnchantLevel_t level) throw() { m_EnchantLevel = level; }	EnchantLevel_t getEnchantLevel() throw() { return m_EnchantLevel; }	void setItemNum(ItemNum_t ItemNum) throw() { m_ItemNum = ItemNum; }	ItemNum_t getItemNum() const throw() { return m_ItemNum; }	void setMainColor(WORD MainColor) throw() { m_MainColor = MainColor; }	WORD getMainColor() const throw() { return m_MainColor; }	BYTE getListNum() const throw() { return m_ListNum; }	void setListNum(BYTE ListNum) throw() { m_ListNum = ListNum; }	void addListElement(SubItemInfo* pSubItemInfo) throw() 	{ 		m_SubItemInfoList.push_back(pSubItemInfo); 		m_ListNum++;	}	void clearList() throw() { m_SubItemInfoList.clear(); m_ListNum = 0; }	SubItemInfo* popFrontListElement() throw() 	{ 		SubItemInfo* TempSubItemInfo = m_SubItemInfoList.front(); 		m_SubItemInfoList.pop_front(); 		return TempSubItemInfo; 	}public:	uint getSize() throw()	{		return szObjectID +			szBYTE +			szItemType + 			szBYTE + m_OptionType.size() +			szDurability +			szSilver + 			szGrade +			szEnchantLevel +			szItemNum +			szWORD +			szBYTE +			SubItemInfo::getMaxSize()*m_ListNum;	}	static uint getMaxSize() throw()	{		return szObjectID +			szBYTE +			szItemType + 			szBYTE + 255 +			szDurability +			szSilver + 			szGrade +			szEnchantLevel +			szItemNum +			szWORD +			szBYTE +			SubItemInfo::getMaxSize()*8;	}protected:	ObjectID_t         m_ObjectID;         // item object id	BYTE               m_IClass;           // item class	ItemType_t         m_ItemType;         // item type	list<OptionType_t> m_OptionType;       // item option type	Durability_t       m_Durability;       // item durability	Silver_t           m_Silver;           // silver coating amount	Grade_t				m_Grade;			// 酒捞袍 殿鞭	EnchantLevel_t     m_EnchantLevel;     // item enchant level	ItemNum_t          m_ItemNum;          // number of item	WORD               m_MainColor;        // item color	BYTE               m_ListNum;          // number of sub item	list<SubItemInfo*> m_SubItemInfoList;  // actual sub item info};#endif

⌨️ 快捷键说明

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