DragonNest/Server/ServerCommon/DNQuestManager.h
Cussrro 47f7895977 Revert "修复编码问题"
This reverts commit 9e69c01767.
2024-12-21 10:04:04 +08:00

48 lines
1.3 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#pragma once
class CDNQuest;
class DnScriptManager;
class CDNUserQuest;
class CDNQuestManager
{
private:
typedef std::map<int, CDNQuest*> QUEST_MAP;
typedef QUEST_MAP::iterator QUEST_MAP_ITR;
typedef QUEST_MAP::const_iterator QUEST_MAP_CTR;
typedef std::map<std::wstring, CDNQuest*> STRKEY_QUEST_MAP;
typedef STRKEY_QUEST_MAP::iterator STRKEY_QUEST_MAP_ITR;
typedef STRKEY_QUEST_MAP::const_iterator STRKEY_QUEST_MAP_CTR;
typedef std::vector<int> QUEST_VECTOR;
public:
CDNQuestManager();
virtual ~CDNQuestManager();
bool LoadAllQuest(const char* szFileName, DnScriptManager* pScriptManager);
void RemoveAllQuest();
void DumpAllQuest(IN OUT std::vector<CDNQuest*>& questList);
bool AddQuest(int nQuestIndex, CDNQuest* pQuest);
bool AddQuest(std::wstring& szTalkFile, CDNQuest* pQuest);
//bool RemoveQuest(int nQuestIndex);
CDNQuest* GetQuest(int nQuestIndex);
CDNQuest* GetQuest(std::wstring& szTalkFile);
bool bIsMainQuest( const int nQuestIndex );
bool bIsSubQuest( const int nQuestIndex );
char GetQuestType(const int nQuestIndex);
void ResetRepeatQuest(CDNUserQuest* pQuest); //Á¤ÂøµÇ¸é MarkingConditionalQuest¸¦ ´ëüÇÑ´Ù.
void MarkingConditionalQuest(CDNUserQuest* pQuest);
private:
QUEST_MAP m_QuestMap;
STRKEY_QUEST_MAP m_StrKeyQuestMap;
QUEST_VECTOR m_RepeatQuests;
};
extern CDNQuestManager* g_pQuestManager;