📄 rpgerror.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 + -