43 lines
727 B
C++
43 lines
727 B
C++
|
|
#ifndef _SQuestMarkFactory_h_
|
|
#define _SQuestMarkFactory_h_
|
|
|
|
//#include <vector>
|
|
#include "QuestBase.h"
|
|
|
|
struct sQuestMark;
|
|
class SQuestMgr;
|
|
|
|
/*
|
|
*/
|
|
class cQuestMarkFactory
|
|
{
|
|
public:
|
|
enum
|
|
{
|
|
MARK_PROP,
|
|
MARK_MOB,
|
|
MARK_NPC,
|
|
MARK_DROP_ITEM,
|
|
MARK_NUM,
|
|
};
|
|
public:
|
|
cQuestMarkFactory(SQuestMgr* questMgr);
|
|
~cQuestMarkFactory();
|
|
void insert(QuestBase::QuestCode code);
|
|
void remove(QuestBase::QuestCode code);
|
|
void clearMarkList();
|
|
bool is(int type, int id, bool checkQuestInProgress = false);
|
|
|
|
private:
|
|
void createMarkList();
|
|
void clear();
|
|
void insertQuestTargetId(QuestBase* ques);
|
|
void removeQuestTargetId(QuestBase* quest);
|
|
|
|
private:
|
|
SQuestMgr* m_questMgr;
|
|
std::vector<sQuestMark*> m_markList;
|
|
};
|
|
|
|
#endif |