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

📄 rpgdataman.cc

📁 五行MMORPG引擎系统V1.0
💻 CC
字号:
//RPGDataMan.cc
/*/////////////////////////////////////////////////////////////////

   李亦
	liease@163.com 4040719
	2006-7-18
/*/////////////////////////////////////////////////////////////////

#include "console/console.h"
//#include "rpg/core/tIDDictionary.h"
//#include "rpg/core/tObjDictionary.h"
//#include "rpg/core/tObjNameDictionary.h"

//#include "rpg/gobjects/ggoodsDefine.h"
//#include "rpg/gobjects/GGoods.h"
//#include "rpg/gobjects/GPlayer.h"
//#include "rpg/gobjects/GPassport.h"
//#include "rpg/gobjects/GNpc.h"
//#include "rpg/gobjects/GScene.h"
#include "RPGDataMan.h"


namespace RPG
{

RPGDataMan*	g_pRPGDataMan	= NULL;
//static RPGDataMan	gs_RPGDataMan;


IMPLEMENT_CONOBJECT(RPGDataMan);

//////////////////////////////////////////////////////
IMPLEMENT_DATAMAN(RPGDataMan,Player);
IMPLEMENT_DATAMAN(RPGDataMan,Passport);
IMPLEMENT_DATAMAN(RPGDataMan,Npc);
IMPLEMENT_DATAMAN(RPGDataMan,Scene);

IMPLEMENT_DATAMAN(RPGDataMan,Goods);
IMPLEMENT_DATAMAN(RPGDataMan,GoodsDefine);

IMPLEMENT_DATAMAN(RPGDataMan,Dialog);
IMPLEMENT_DATAMAN(RPGDataMan,TaskState);
IMPLEMENT_DATAMAN(RPGDataMan,Task);
IMPLEMENT_DATAMAN(RPGDataMan, Efficacy);

IMPLEMENT_DATAMAN(RPGDataMan, TaskPiece);
IMPLEMENT_DATAMAN(RPGDataMan, DlgPiece);
IMPLEMENT_DATAMAN(RPGDataMan, DlgAnswer);


/////////////////////////////////////////////////////////////////
// class RPGDataMan 构造函数 /析构函数
RPGDataMan::RPGDataMan()
:INIT_DATAMAN(RPGDataMan, Player, HASKSIZE)
,INIT_DATAMAN(RPGDataMan, Passport, HASKSIZE)
,INIT_DATAMAN(RPGDataMan, Goods, HASKSIZE)
,INIT_DATAMAN(RPGDataMan, GoodsDefine, HASKSIZE)
,INIT_DATAMAN(RPGDataMan, Dialog, HASKSIZE)
,INIT_DATAMAN(RPGDataMan, TaskState, HASKSIZE)
,INIT_DATAMAN(RPGDataMan, Task, HASKSIZE)
,INIT_DATAMAN(RPGDataMan, Efficacy, HASKSIZE)
,INIT_DATAMAN(RPGDataMan, Npc, HASKSIZE)
,INIT_DATAMAN(RPGDataMan, Scene, HASKSIZE)
,INIT_DATAMAN(RPGDataMan, TaskPiece, HASKSIZE)
,INIT_DATAMAN(RPGDataMan, DlgPiece, HASKSIZE)
,INIT_DATAMAN(RPGDataMan, DlgAnswer, HASKSIZE)
{

	//AssertWarn(g_pRPGDataMan == NULL,"只能建立一个RPGDataMan实例");
	//g_pRPGDataMan = this;
}

RPGDataMan::~RPGDataMan()
{
}


void RPGDataMan::FreeAllData(BOOL bOnlyObjects)
{
	if(!bOnlyObjects)
	{
		FREE_DATAMAN(RPGDataMan,GoodsDefine);
	}

	FREE_DATAMAN(RPGDataMan,Player);
	FREE_DATAMAN(RPGDataMan,Passport);
	FREE_DATAMAN(RPGDataMan,Npc);
	FREE_DATAMAN(RPGDataMan,Scene);

	FREE_DATAMAN(RPGDataMan,Goods);

	FREE_DATAMAN(RPGDataMan,Dialog);
	FREE_DATAMAN(RPGDataMan,TaskState);
	FREE_DATAMAN(RPGDataMan,Task);
	FREE_DATAMAN(RPGDataMan, Efficacy);

	FREE_DATAMAN(RPGDataMan, TaskPiece);
	FREE_DATAMAN(RPGDataMan, DlgPiece);
	FREE_DATAMAN(RPGDataMan, DlgAnswer);

}


void RPGDataMan::Initialize(CSTR pObjName)
{
	AssertWarn(g_pRPGDataMan == NULL,"只能建立一个RPGDataMan实例");
	g_pRPGDataMan = new RPGDataMan();
	g_pRPGDataMan->registerObject(pObjName);

}

void RPGDataMan::Destroy()
{
	if(g_pRPGDataMan)
	{
		g_pRPGDataMan->deleteObject();
		g_pRPGDataMan = NULL;
	}
}


void RPGDataMan::initPersistFields()
{
	Parent::initPersistFields();
}


ConsoleMethod(RPGDataMan,GetPassport,const char*,3,3,"GetOne")
{
	char* pRet = Con::getReturnBuffer(32);
	GPassport* pPassport = object->GetPassport(StringTable->insert(argv[2]));
	if(pPassport == NULL)
		pRet[0] = 0;
	else
		dSprintf(pRet,32,"%d",pPassport->getId());

	return pRet;
}

ConsoleMethod(RPGDataMan,FreeAllData,void,2,3,".FreeAllData(bool bOnlyObject)")
{
	if(argc == 2)
		object->FreeAllData(TRUE);
	else
		object->FreeAllData(dAtob(argv[2]));
}
//void RPGDataMan::consoleInit()
//{
//}


};//namespace RPG

⌨️ 快捷键说明

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