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

📄 rpgdatabasedefine.h

📁 五行MMORPG引擎系统V1.0
💻 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 + -