📄 rpgdatabasedefine.h
字号:
//RPGDatabaseDefine.h
/*/////////////////////////////////////////////////////////////////
李亦
liease@163.com 4040719
2006-7-20
/*/////////////////////////////////////////////////////////////////
#ifndef _RPG__RPGDATABASEDEFINE_H_
#define _RPG__RPGDATABASEDEFINE_H_
#ifndef _RPG__RPGDEFINE_H_
#include "rpg/RPGDefine.h"
#endif
#ifndef _RPG__GPLAYER_H_
#include "rpg/gobjects/GPlayer.h"
#endif
#ifndef _RPG__GGOODSDEFINE_H_
#include "rpg/gobjects/ggoodsDefine.h"
#endif
#ifndef _RPG__GDIALOG_H_
#include "rpg/gobjects/GDialog.h"
#endif
#ifndef _RPG__GNPC_H_
#include "rpg/gobjects/GNpc.h"
#endif
namespace RPG
{
namespace DB
{
#define DBNUL (U32)-1
/////////////////////////////////////////////
//对话片段定义
typedef struct tagGDlgPiece
{
U32 dwID; //编号
RPG::GDLGPIECE data;
}GDLGPIECE;
typedef struct tagGDlgAnswer
{
U32 dwID; //编号
RPG::GDLGANSWER data;
}GDLGANSWER;
typedef struct tagGDialog
{
U32 dwID; //编号
U32 dwRequireID;//
RPG::GDIALOG data;
}GDIALOG;
typedef struct tagGNPCDialog
{
U32 dwID;
U32 dwNPCID;
U32 dwDialogID;
}GNPCDIALOG;
/////////////////////////////////////////////
//物品定义
typedef struct tagGGoodsDefine
{
U32 dwID;
RPG::GGOODSDEFINE data;
}GGOODSDEFINE;
typedef struct tagGGoods
{
U32 dwID;
RPG::GGOODS data;
}GGOODS;
//////////////////////////////////////////////////
//人物数据
typedef struct tagGCharacter
{
U32 dwID; //编号
RPG::GCHARACTER data;
}GCHARACTER;
typedef struct tagGNPC
{
U32 dwID; //编号
RPG::GCHARACTER dataChar;
RPG::GNPC data;
//U32 arDlgIDs[];
//U32 arTaskIDs[];
}GNPC;
//////////////////////////////////////////////////
//玩家数据
typedef struct tagGPlayer
{
U32 dwID; //编号
//U32 dwCharacterID;
RPG::GCHARACTER dataChar;
RPG::GPLAYER dataPlayer;
U32 dwEquipmentsID;
U32 dwBagGoodsID;
U32 dwSkillsID;
U32 dwActionsID;
U32 dwKeyCellsID;
}GPLAYER;
///////////////////////////
typedef struct tagGEquipments
{
U32 dwID;
U32 arUnits[EQUIP_SLOTNUM]; //装备槽
}GEQUIPMENTS;
///////////////////////////
typedef struct tagGBagGoods
{
U32 dwID;
U32 arUnits[BAG_SLOTNUM]; //背包槽
}GBAGGOODS;
///////////////////////////
typedef struct tagGSkills
{
U32 dwID;
U32 arUnits[SKILL_SLOTNUM]; //技能槽
}GSKILLS;
typedef struct tagGActions
{
U32 dwID;
U32 arUnits[ACTION_AMOUNT];
}GACTIONS;
typedef struct tagGKeyCells
{
U32 dwID;
U32 arUnits[KEY_CELL_AMOUNT];
}GKEYCELLS;
////////////////////////////////////////////////////
//通行证数据
typedef struct tagGPassport
{
U32 dwID;
CSTR pAccount;
CSTR pPassword;
//最多5个可玩人物
U32 arPCs[RPG_PC_MAX];
}GPASSPORT;
/////////////////////////////////////////////////////////////////
//数据表模拟
#define DECLARE_DBTABLE(TYPE,Name)\
static TYPE ms_ar##Name##s[];\
static U32 ms_n##Name##RecordNum
#define BEGIN_DBTABLE(TYPE,Name)\
TYPE Tables::ms_ar##Name##s[]={
#define END_DBTABLE(TYPE,Name)\
};\
U32 Tables::ms_n##Name##RecordNum = sizeof(ms_ar##Name##s) / sizeof(TYPE);
#define DB_RECORDNUM(Name) DB::Tables::ms_n##Name##RecordNum
#define DB_TABLE(Name) DB::Tables::ms_ar##Name##s
#define DB_RECORD(Name,n) DB::Tables::ms_ar##Name##s[n]
/////////////////////////////////////
//数据表
class Tables
{
public:
DECLARE_DBTABLE( GNPC ,Npc);
DECLARE_DBTABLE( GNPCDIALOG ,NPCDialog);
DECLARE_DBTABLE( GDIALOG ,Dialog);
DECLARE_DBTABLE( GDLGPIECE ,DlgPiece);
DECLARE_DBTABLE( GDLGANSWER ,DlgAnswer);
DECLARE_DBTABLE( GPASSPORT ,Passport);
DECLARE_DBTABLE( GPLAYER ,Player);
DECLARE_DBTABLE( GEQUIPMENTS ,Equipments);
DECLARE_DBTABLE( GBAGGOODS ,BagGoods);
DECLARE_DBTABLE( GSKILLS ,Skills);
DECLARE_DBTABLE( GKEYCELLS ,KeyCells);
DECLARE_DBTABLE( GACTIONS ,Actions);
DECLARE_DBTABLE( GGOODSDEFINE ,GoodsDefine);
DECLARE_DBTABLE( GGOODS ,Goods);
};
};//namespace DB
};//namespace RPG
#endif //_RPG__RPGDATABASEDEFINE_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -