⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rpgerror.h

📁 五行MMORPG引擎系统V1.0
💻 H
字号:
//RPGError.h
/*/////////////////////////////////////////////////////////////////

   李亦
	liease@163.com 4040719
	2006-7-18
/*/////////////////////////////////////////////////////////////////
#ifndef _RPG__RPGERROR_H_
#define _RPG__RPGERROR_H_


#ifndef _RPG__RPGOBJECT_H_
#include "RPGObject.h"
#endif

#ifndef _TIDDICTIONARY_H_
#include "rpg/core/tIDDictionary.h"
#endif


namespace RPG
{
	enum ERPGErrors
	{

		//成功代码
		E_OK			= 0,

		// 以下为未知错误代码
		E_UNKNOW,
		E_DB_UNKNOW,

		//////////////////////////////////////////////
		// 以下已知代码
	
		//Debug型错误代码
		EBASE_DEBUG			/*= 100*/,	
		//E_DATAINVALID,
		//E_NOTASSIGN,
		//E_NOTFOUND,
		//E_DATANOTEXIST,
		//E_CMD_MISS,
		E_CMD_TIMEOUT,
		E_CMD_PARAM_MISS,

		//SILENT型错误代码
		EBASE_SILENT		/*= 10000*/,
		E_ARMING_FAILED,
		E_BAG_FULL,
		E_GOODS_NOTEXIST,
		E_EQUIPSLOT_NOTEXIST,
		E_BAGGOODS_NOTEXIST,
		E_BAGGOODS_REMOVE_FAILED,
		E_BAGGOODS_ADD_FAILED,
		E_SCENEGOODS_ADD_FAILED,
		E_SCENEGOODS_REMOVE_FAILED,
		E_SCENE_NOTEXIST,
		E_NPC_NOTEXIST,
		//E_PC_NOT_SCENEOWNER,

		//Warning型错误代码
		EBASE_WARNING		/*= 20000*/,	


		//////////////////////////////////////////
		//错误型代码
		EBASE_ERROR			/*= 30000*/,
		E_PP_NOTLOGIN,//未登录
		E_PP_PWDNOTMATCH,//密码不匹配
		E_PP_NOTEXIST,//通行证不存在
		E_PP_LOGINED,
		E_PP_INVALID,
		//E_PP_NO_PCS,
		//E_PP_MAINTAINING,
		//E_PP_DAYMAINTAINING,
		//E_PP_LOGINING,
		//E_PP_LOGINED_KICKING,
		//E_PP_NOT_SYNCHRO,
		//E_PP_IPEXCEED,


		E_PC_NOTEXIST,
		E_PC_PWDNOTMATCH,
		E_PC_EXISTED,
		E_PC_FULL,
		E_PC_CREATEFAILED,
		//E_PC_STATESAVEFAILED,
		E_PC_NOTGM,
		

		E_DB_BUSINESS,
		//E_DB_LOADING,

		E_SYS_BUSINESS,
		E_SYS_DISCONNECTED,
		E_SYS_CONNECT_FAILED,
		E_SYS_SERVER_EXCEED,
		E_SYS_VERIFY_INVALID,

		EBASE_MAX,
		EBASE_AMOUNT

		//////////////////////////////////
		//以下为自定义错误代码
	};



typedef struct tagGErrorEntry
{
	U32					dwID;
	StringTableEntry	pName;
	StringTableEntry	pDesc;
	//tagGErrorEntry*	pHashNext;
}GERROR_ENTRY;

typedef IDDictionary<GERROR_ENTRY>	RPGErrorDict;


/////////////////////////////////////////////////////////////////
/// RPG错误代码管理
class RPGError : public RPGObject
{
	typedef RPGObject Parent;

	enum RPGErrorConstants
	{
		HASHSIZE		= 256
	};
	RPGErrorDict	m_errorDict;

	static StringTableEntry ms_arErrorText[EBASE_AMOUNT];
	static StringTableEntry ms_arErrorLabel[EBASE_AMOUNT];

public:
	//构造/析构函数
	RPGError();
	~RPGError();

	void RegisterError(U32 nError, StringTableEntry pName, StringTableEntry pDesc);
	bool GetError(U32 nError, StringTableEntry& pName, StringTableEntry& pDesc);

public:
	static void Initialize(CSTR pScriptName);
	static void Destroy();

   static void initPersistFields();
   static void consoleInit();

	DECLARE_CONOBJECT(RPGError);
};//class RPGError

extern RPGError* g_pRPGError;


};//namespace RPG
#endif //_RPG__RPGERROR_H_

⌨️ 快捷键说明

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