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

📄 rewardclassinfomanager.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
#include "RewardClassInfoManager.h"#include "RandomRewardClass.h"#include "SlayerWeaponRewardClass.h"#include "ItemRewardInfo.h"#include "DB.h"RewardClassInfoManager::RewardClassInfoManager( NPC* pNPC ){	m_RewardClasses.clear();	m_pOwnerNPC = pNPC;}RewardClassInfoManager::~RewardClassInfoManager(){	RewardClassHashMap::iterator itr = m_RewardClasses.begin();	RewardClassHashMap::iterator endItr = m_RewardClasses.end();	for ( ; itr != endItr ; ++itr )	{		if ( itr->second != NULL ) SAFE_DELETE( itr->second );	}	m_RewardClasses.clear();}QuestMessage RewardClassInfoManager::canGiveReward( RewardClass_t rClass, PlayerCreature* pPC ) const throw(Error){	__BEGIN_TRY	RewardClass* pRewardClass = getRewardClass( rClass );	if ( pRewardClass == NULL ) return COMPLETE_FAIL_INVALID_NPC;	return pRewardClass->canGiveReward(pPC);	__END_CATCH}RewardClass* RewardClassInfoManager::getRewardClass( RewardClass_t rClass ) const throw(Error){	__BEGIN_TRY	RewardClassHashMap::const_iterator itr = m_RewardClasses.find( rClass );	if ( itr == m_RewardClasses.end() ) return NULL;	return itr->second;	__END_CATCH}/*void RewardClassInfoManager::load( const string& name ) throw(Error){	__BEGIN_TRY	Statement* pStmt = NULL;	BEGIN_DB	{		pStmt = g_pDatabaseManager->getConnection("DARKEDEN")->createStatement();		Result* pResult = pStmt->executeQuery("SELECT RewardClass, RewardID, IClass, IType, OptionType, TimeLimitSec FROM ItemRewardInfo");		while (pResult->next()) 		{			int index = 0;			RewardClass_t	rClass	= (RewardClass_t)		pResult->getInt( ++index );			RewardID_t		rID		= (RewardID_t	)		pResult->getInt( ++index );			Item::ItemClass	iClass	= (Item::ItemClass)		pResult->getInt( ++index );			ItemType_t		iType	= (ItemType_t)			pResult->getInt( ++index );			string			option	= 						pResult->getString( ++index );			DWORD			time	= (DWORD)				pResult->getInt( ++index );			if ( m_RewardClasses[ rClass ] == NULL ) m_RewardClasses[rClass] = new RandomRewardClass( rClass );			ItemRewardInfo* pItemRI = new ItemRewardInfo( rID, rClass, iClass, iType, option, time );			m_RewardClasses[rClass]->addRewardInfo( pItemRI );		}		pResult = pStmt->executeQuery("SELECT RewardClass, RewardID, IClass, IType, OptionType, TimeLimitSec FROM SlayerWeaponRewardInfo");		while (pResult->next())		{			int index = 0;			RewardClass_t	rClass	= (RewardClass_t)		pResult->getInt( ++index );			RewardID_t		rID		= (RewardID_t	)		pResult->getInt( ++index );			Item::ItemClass	iClass	= (Item::ItemClass)		pResult->getInt( ++index );			ItemType_t		iType	= (ItemType_t)			pResult->getInt( ++index );			string			option	= 						pResult->getString( ++index );			DWORD			time	= (DWORD)				pResult->getInt( ++index );			if ( m_RewardClasses[ rClass ] == NULL ) m_RewardClasses[rClass] = new SlayerWeaponRewardClass( rClass );			ItemRewardInfo* pItemRI = new ItemRewardInfo( rID, rClass, iClass, iType, option, time );			m_RewardClasses[rClass]->addRewardInfo( pItemRI );		}		SAFE_DELETE(pStmt);	}	END_DB(pStmt)	__END_CATCH}*/

⌨️ 快捷键说明

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