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

📄 rpgengine.cc

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

   李亦
	liease@163.com 4040719
	2006-7-18
/*/////////////////////////////////////////////////////////////////
#include "rpg/RPGEngine.h"
#include "rpg/RPGDataMan.h"
#include "rpg/RPGError.h"
#include "rpg/ui/gameIconMan.h"
#include "rpg/cmd/RPGCommand.h"
#include "rpg/cmd/DBProxy.h"
#include "rpg/cmd/RPGDatabase.h"
#include "rpg/cmd/RPGCallback.h"
#include "rpg/RPGSetting.h"
#include "console/macroManager.h"
#include "rpg/RPGPlayerAux.h"
#include "rpg/RPGChat.h"
#include "rpg/RPGDialog.h"
#include "rpg/RPGTextParse.h"

//#include "rpg/core/stdinclude.h"

namespace RPG
{


void RPGEngine::Initialize(BOOL bInitLibraries)
{
	//char sz[128];
	//dSprintf(sz,128,"%g,%g,%g",1.23456f,1.23456f,1.234f);
	//U32 type = 0;
	//U32 t2 = ~type;
	//std::map<U32,STE>	arMap;
	//arMap[0] = StringTable->insert("abc");
	//arMap[1] = StringTable->insert("abcdefghijklmn");
	//
	//STE a = arMap[1];

	//初始化库调用
	if(bInitLibraries)
	{
		RPGDialog::InitTextTable();
		DB::Initialize();
		return;
	}

	U32 n;
	StringTableEntry pValue;

	///////////////////////////////////////////////////////////
	//宏代码注册
	int arMacros[] = 
	{
		EQUIP_SLOTNUM, BAG_SLOTNUM, SKILL_SLOTNUM, RPG_LEVELMAX, RPG_UPGRADESP,RPG_PC_MAX
	};
	CSTR arMacroTexts[] = 
	{
		"EQUIP_SLOTNUM", "BAG_SLOTNUM", "SKILL_SLOTNUM", "RPG_LEVELMAX", "RPG_UPGRADESP","RPG_PC_MAX"
	};

	for(n=0; n < sizeof(arMacroTexts) / sizeof(CSTR); n++)
	{	
		arMacroTexts[n] = StringTable->insert(arMacroTexts[n]);

		pValue = StringTable->insert( avar("%d",arMacros[n]) );
		gMacroDictionary.insert(arMacroTexts[n], pValue );
	}



	/////////////////////////////////////////////////////
	//初始化游戏引擎调用
	RPGSetting::	Initialize(SCRIPT_RPGSetting);
	RPGError::		Initialize(SCRIPT_RPGError);
	RPGDataMan::	Initialize(SCRIPT_RPGDataMan);
	GameIconMan::	Initialize(SCRIPT_GameIconMan);
	RPGCommand::	Initialize(SCRIPT_RPGCommand);
	DBProxy::		Initialize(SCRIPT_DBProxy);
	RPGTextParse::	Initialize(SCRIPT_RPGTextParse);
	RPGCallback::	Initialize(SCRIPT_RPGCallback);
	RPGPlayerAux::	Initialize(SCRIPT_RPGPlayerAux);
	RPGChat::		Initialize(SCRIPT_RPGChat);
	RPGDialog::		Initialize(SCRIPT_RPGDialog);




	/////////////////////////////////////////////////////////
	//数据代理初始化
	RPGDatabase::	Init();

	RPGDatabase*	pDatabase = new RPGDatabase(g_pDBProxy);
	pDatabase->registerObject(SCRIPT_RPGDatabase);
	g_pDBProxy->addObject(pDatabase);

#ifdef RPGCMD_USE_THREAD
	g_pRPGCommand->start();
	g_pDBProxy->start();
	pDatabase->start();
#endif

}


void RPGEngine::Destroy(BOOL bInitLibraries)
{
	if(!bInitLibraries)
	{
		//g_pDBProxy->StopProcess();
		//g_pDBProxy->wait();

		RPGDialog::		Destroy();
		RPGChat::		Destroy();
		RPGPlayerAux::	Destroy();
		RPGCallback::	Destroy();
		RPGTextParse::	Destroy();
		DBProxy::		Destroy();
		RPGCommand::	Destroy();
		GameIconMan::	Destroy();
		RPGDataMan::	Destroy();
		RPGError::		Destroy();
		RPGSetting::	Destroy();
		return;
	}

	DB::Destroy();
	RPGDialog::DestroyTextTable();

}


void RPGEngine::Process()
{

#ifndef RPGCMD_USE_THREAD
	if(g_pDBProxy)
		g_pDBProxy->Process();
	if(g_pRPGCommand)
		g_pRPGCommand->Process();
#endif
	//DBProxy::Process();
	//RPGCommand::Process();
}

};//namespace RPG



⌨️ 快捷键说明

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