rewardclass.cpp

来自「dk1游戏的原代码文件,完整.编译系统redhat7.3,mysql 3.23 」· C++ 代码 · 共 96 行

CPP
96
字号
#include "RewardClass.h"#include "RewardInfo.h"#include "Assert.h"#include "StringStream.h"RewardClass::RewardClass( RewardClass_t rClass ){	m_RewardClass = rClass;	m_RewardInfos.clear();}RewardClass::~RewardClass()	throw(Error){	__BEGIN_TRY	vector<RewardInfo*>::iterator itr = m_RewardInfos.begin();	vector<RewardInfo*>::iterator endItr = m_RewardInfos.end();	for ( ; itr != endItr ; ++itr )	{		if ( *itr != NULL ) SAFE_DELETE( *itr );	}	m_RewardInfos.clear();	__END_CATCH}void RewardClass::addRewardInfo( RewardInfo* pRewardInfo )	throw(Error){	__BEGIN_TRY	Assert( pRewardInfo != NULL );	m_RewardInfos.push_back( pRewardInfo );	__END_CATCH}QuestMessage RewardClass::giveReward( PlayerCreature* pPC ) const throw(Error){	__BEGIN_TRY	RewardInfo* pRI = selectReward( pPC );	return pRI->giveReward(pPC);		__END_CATCH}QuestMessage RewardClass::canGiveReward( PlayerCreature* pPC ) const	throw(Error){	__BEGIN_TRY	Assert( pPC != NULL );	vector<RewardInfo*>::const_iterator itr = m_RewardInfos.begin();	vector<RewardInfo*>::const_iterator endItr = m_RewardInfos.end();	for ( ; itr != endItr ; ++itr )	{		if ( *itr != NULL )		{			QuestMessage result = (*itr)->canGiveReward(pPC);			if ( result != COMPLETE_SUCCESS ) return result;		}	}	return COMPLETE_SUCCESS;	__END_CATCH}string RewardClass::toString() const throw(){	StringStream msg;	msg << "RewardClass("		<< "RewardClass# : " << m_RewardClass;	vector<RewardInfo*>::const_iterator itr = m_RewardInfos.begin();	vector<RewardInfo*>::const_iterator endItr = m_RewardInfos.end();	for ( ; itr != endItr ; ++itr )	{		msg << ", " << (*itr)->toString();	}	msg << ")";	return msg.toString();}

⌨️ 快捷键说明

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