📄 eventquestadvance.h
字号:
#ifndef __EVENT_QUEST_ADVANCE_H__#define __EVENT_QUEST_ADVANCE_H__#include "Types.h"#include "Exception.h"#include "Assert.h"#include <vector>class PlayerCreature;class EventQuestAdvance{public: enum Status { EVENT_QUEST_INIT, // 矫累档 救沁促. EVENT_QUEST_STARTED, // 矫累沁菌绊 场付摹瘤 给沁促. EVENT_QUEST_SUCCESS, // 场付闷栏唱 焊惑阑 罐瘤 给沁促. EVENT_QUEST_REWARDED, // 焊惑栏肺 汗鼻阑 罐疽促. EVENT_QUEST_ADVANCED // 焊惑栏肺 促澜 涅胶飘肺狼 柳青阑 急琶沁促. }; EventQuestAdvance( const EventQuestAdvance& org ) : m_QuestLevel(org.m_QuestLevel), m_Status(org.m_Status) { } explicit EventQuestAdvance( int qLevel, Status status = EVENT_QUEST_INIT ) : m_QuestLevel(qLevel), m_Status( status ) { } virtual ~EventQuestAdvance() { } int getLevel() const { return m_QuestLevel; } Status getStatus() const { return m_Status; } bool start() { return transition( EVENT_QUEST_INIT, EVENT_QUEST_STARTED ); } bool success() { Assert(false); return transition( EVENT_QUEST_STARTED, EVENT_QUEST_SUCCESS ); } bool rewarded() { return transition( EVENT_QUEST_STARTED, EVENT_QUEST_REWARDED ); } bool advanced() { return transition( EVENT_QUEST_STARTED, EVENT_QUEST_ADVANCED ); } void reset() { setStatus( EVENT_QUEST_INIT ); } void save( const string& name ) throw(Error);protected: bool transition( Status I, Status O ) { if ( getStatus() != I ) return false; setStatus(O); return true; } void setStatus( Status status ) { m_Status = status; }private: int m_QuestLevel; Status m_Status;};class EventQuestAdvanceManager{public: EventQuestAdvanceManager( PlayerCreature* pPC ); ~EventQuestAdvanceManager(); void clear();public: bool start( int questLevel ); bool success( int questLevel ); bool rewarded( int questLevel ); bool advanced( int questLevel ); EventQuestAdvance::Status getStatus( int questLevel ); void save() throw(Error); void save( int questLevel ) throw(Error); void load() throw(Error); bool canExecute( int questLevel ); int getQuestLevel(); static const int EVENT_QUEST_LEVEL_MAX = 5;private: vector<EventQuestAdvance*> m_Advances; PlayerCreature* m_pOwner;};#endif// __EVENT_QUEST_ADVANCE_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -