quest.h

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

H
99
字号
//--------------------------------------------------------------------------------// Quest.h//--------------------------------------------------------------------------------//// {START}//			[WAIT]//// [WAIT]//			take() --> create() --> [ACTIVE]//// [ACTIVE]//			processActive()//			{//				checkFail() --> givePenalty() --> {END}//				checkSuccess() --> [COMPLETE]//			}// // [COMPLETE]//			checkComplete() --> giveReward() --> {END}//// {END}//			destroy()//////--------------------------------------------------------------------------------// QuestID绰 窜鉴茄 阿 Quest备盒侩捞促.// Thread Safe窍瘤 臼绊, 辑滚埃俊档 悼扁拳登瘤 臼绰促.//--------------------------------------------------------------------------------#ifndef __QUEST_H__#define __QUEST_H__#include "Types.h"#include "Exception.h"class Creature;class QuestEvent;//#define __ACTIVE_QUEST__class Quest {public :	enum QuestType	{				QUEST_MONSTER_KILL,		QUEST_MAX	};	enum QuestState	{		STATE_NULL,				STATE_WAIT,			// QuestBoard俊辑 穿焙啊啊 罐酒啊扁甫 扁促府绰 惑怕		STATE_ACTIVE,		// 穿啊 Quest甫 罐酒辑 柳青吝牢 惑怕		STATE_COMPLETE,		// Quest啊 肯丰等 惑怕(Reward 罐扁 傈)		STATE_END			// Quest啊 场抄 惑怕	};public :	Quest() throw (Error) : m_QuestID(m_QuestIDRegistry++), m_State(STATE_NULL)  {}	virtual ~Quest() throw (Error) { if (m_State!=STATE_NULL) destroy(); }		static void			initQuestIDRegistry() throw(Error);	QuestID_t			getQuestID()					{ return m_QuestID; }    void				setQuestID(QuestID_t QuestID)	{ m_QuestID = QuestID; }	virtual QuestType	getQuestType() const = 0;	QuestState			getState() const	{ return m_State; }		virtual void		create() throw (Error) = 0;	virtual void		save() throw (Error) = 0;	virtual void		destroy() throw (Error) {}		virtual bool		checkSuccess(const QuestEvent* pQuestEvent) throw (Error) = 0;	virtual bool		checkFail() throw (Error) = 0;	virtual bool		checkComplete() throw (Error) = 0;	virtual void		take(Creature* pCreature, bool bNewQuest=true) throw (Error) = 0;	virtual void		giveReward() throw (Error) = 0;	virtual void		givePenalty() throw (Error) = 0;	virtual void		heartbeat() throw (Error) = 0;	virtual string		toString() const throw (Error) = 0;protected :	void setState(QuestState qs)	{ m_State = qs; }protected :	QuestID_t			m_QuestID;	QuestState			m_State;	static QuestID_t	m_QuestIDRegistry;};#endif

⌨️ 快捷键说明

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