#ifndef _SQuestMarkFactory_h_ #define _SQuestMarkFactory_h_ //#include #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 m_markList; }; #endif