simplequestloader.cpp

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

CPP
84
字号
//--------------------------------------------------------------------------------// SimpleQuestLoader.cpp//--------------------------------------------------------------------------------#include "SimpleQuestLoader.h"#include "Assert.h"#include "DB.h"#include "Creature.h"#include "PlayerCreature.h"#include "Timeval.h"#include "SimpleQuest.h"#include "QuestFactoryManager.h"void	SimpleQuestLoader::load(Creature* pCreature) 	throw (Error){	__BEGIN_TRY	Assert(pCreature != NULL);	Assert(pCreature->isPC());	PlayerCreature* pPC = dynamic_cast<PlayerCreature*>(pCreature);	// 扁粮狼 quest甫 促 瘤快绊 促矫 load茄促.	pPC->removeAllQuest();	Statement* pStmt = NULL;	BEGIN_DB 	{		pStmt = g_pDatabaseManager->getConnection("DARKEDEN")->createStatement();		Result* pResult = pStmt->executeQuery( 			"SELECT QuestType, Objective, Reward, Penalty, DayTime FROM SimpleQuest WHERE OwnerID = '%s'",			pCreature->getName().c_str() );		while (pResult->next())		{			uint i = 0;			Timeval currentTime;            getCurrentTime(currentTime);			Quest::QuestType questType = (Quest::QuestType)pResult->getInt(++i);			Quest* pQuest = QuestFactoryManager::getInstance()->create( questType );			Assert(pQuest!=NULL);			SimpleQuest* pSimpleQuest = dynamic_cast<SimpleQuest*>(pQuest);			Assert(pSimpleQuest!=NULL);			pSimpleQuest->setObjective( pResult->getString(++i) );			pSimpleQuest->addReward( pResult->getString(++i) );			pSimpleQuest->addPenalty( pResult->getString(++i) );			int DayTime = pResult->getDWORD(++i);			// deadline 眉农			if (currentTime.tv_sec < DayTime)			{				pSimpleQuest->setDeadline((DayTime - currentTime.tv_sec)* 10);			}			else			{				pSimpleQuest->setDeadline( 0 );			}			// Creature狼 QuestManager俊 眠啊茄促.			pSimpleQuest->take( pCreature, false );			pPC->addQuest( pSimpleQuest );			//cout << "[SimpleQuest] load : " << pSimpleQuest->toString().c_str() << endl;		}		SAFE_DELETE(pStmt);	}	END_DB(pStmt)	__END_CATCH}

⌨️ 快捷键说明

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