📄 quest.h
字号:
//--------------------------------------------------------------------------------// 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -