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

📄 rankexpinfo.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
////////////////////////////////////////////////////////////////////////////////// Filename    : RankEXPInfo.cpp// Written By  : beowulf// Description :////////////////////////////////////////////////////////////////////////////////#include "RankEXPInfo.h"#include "Assert.h"#include "DB.h"#include <algo.h>////////////////////////////////////////////////////////////////////////////////// Global Variable initialization////////////////////////////////////////////////////////////////////////////////RankEXPInfoManager * g_pRankEXPInfoManager[RANK_TYPE_MAX] = { NULL, };////////////////////////////////////////////////////////////////////////////////// class RankEXPInfo member methods////////////////////////////////////////////////////////////////////////////////RankEXPInfo::RankEXPInfo()	throw(){	__BEGIN_TRY	__END_CATCH}RankEXPInfo::~RankEXPInfo()	throw(){	__BEGIN_TRY	__END_CATCH}string RankEXPInfo::toString() const	throw(){	__BEGIN_TRY		StringStream msg;	msg << "RankEXPInfo ("		<< " Level : "   << (int)m_Level		<< " GoalExp : "   << (int)m_GoalExp		<< " AccumExp : " << (int)m_AccumExp 		<< ")";		return msg.toString();	__END_CATCH}////////////////////////////////////////////////////////////////////////////////// class RankEXPInfoManager member methods////////////////////////////////////////////////////////////////////////////////RankEXPInfoManager::RankEXPInfoManager()	throw(){	__BEGIN_TRY	m_RankEXPCount    = 0;	m_RankEXPInfoList = NULL;	__END_CATCH}RankEXPInfoManager::~RankEXPInfoManager()	throw(){	__BEGIN_TRY	if (m_RankEXPInfoList != NULL)	{		for (uint i=0; i<m_RankEXPCount; i++)			SAFE_DELETE(m_RankEXPInfoList[i]);		SAFE_DELETE_ARRAY(m_RankEXPInfoList);	}		__END_CATCH}void RankEXPInfoManager::init(RankType rankType)	throw(Error){	__BEGIN_TRY	load(rankType);	__END_CATCH}void RankEXPInfoManager::load(RankType rankType)	throw(Error){	__BEGIN_TRY	Statement* pStmt   = NULL;	// by sigi	Result*    pResult = NULL;		BEGIN_DB	{		pStmt   = g_pDatabaseManager->getConnection("DARKEDEN")->createStatement();		pResult = pStmt->executeQuery("SELECT MAX(Level) FROM RankEXPInfo WHERE RankType=%d", (int)rankType);		if (pResult -> getRowCount() == 0)		{			SAFE_DELETE(pStmt);			throw Error ("There is no data in RankEXPInfo Table");		}		// 傈眉 肮荐甫 技泼茄促.		pResult->next();		m_RankEXPCount = pResult->getInt(1) +1;		Assert(m_RankEXPCount > 0);		m_RankEXPInfoList = new RankEXPInfo * [m_RankEXPCount];		Assert(m_RankEXPInfoList != NULL);		// 硅凯阑 檬扁拳		for (uint i = 0 ; i < m_RankEXPCount ; i ++)			m_RankEXPInfoList[i] = NULL;				// 单捞磐甫 笼绢持绰促.		pResult = pStmt->executeQuery("Select Level, GoalExp, AccumExp from RankEXPInfo WHERE RankType=%d", (int)rankType);		while (pResult->next()) 		{			RankEXPInfo * pRankEXPInfo = new RankEXPInfo ();			Assert(pRankEXPInfo != NULL);			int i = 0;			pRankEXPInfo->setLevel (pResult->getInt(++i));			pRankEXPInfo->setGoalExp (pResult->getInt(++i));			pRankEXPInfo->setAccumExp (pResult->getInt(++i));			addRankEXPInfo(pRankEXPInfo);		}		SAFE_DELETE(pStmt);	}	END_DB(pStmt)		__END_CATCH}void RankEXPInfoManager::addRankEXPInfo(RankEXPInfo * pRankEXPInfo)	throw(){	__BEGIN_TRY  	Assert(pRankEXPInfo != NULL);	Assert(m_RankEXPInfoList[pRankEXPInfo->getLevel()] == NULL);	m_RankEXPInfoList[pRankEXPInfo->getLevel()] = pRankEXPInfo;		__END_CATCH}RankEXPInfo * RankEXPInfoManager::getRankEXPInfo(uint value) const 	throw (InvalidProtocolException){	__BEGIN_TRY	if (value >= m_RankEXPCount || m_RankEXPInfoList[value] == NULL)	{		filelog("RankEXPError.log", "RankEXP 瓷仿摹 檬苞 肚绰 固父");		throw InvalidProtocolException();	}	return m_RankEXPInfoList[value];		__END_CATCH}string RankEXPInfoManager::toString() const	throw(){	__BEGIN_TRY	StringStream msg;	msg << "RankEXPInfoManager(";	for (uint i = 0 ; i < m_RankEXPCount ; i ++) 	{		if (m_RankEXPInfoList[i] != NULL)		{			msg << m_RankEXPInfoList[i]->toString();		}		else 		{			msg << "NULL" ;		}	}		msg << ")";	return msg.toString();	__END_CATCH}

⌨️ 快捷键说明

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