53 lines
1.1 KiB
C++
53 lines
1.1 KiB
C++
|
|
#ifndef _SElementParser_h_
|
|
#define _SElementParser_h_
|
|
|
|
//#include <string>
|
|
|
|
struct QuestBase;
|
|
|
|
/*
|
|
*/
|
|
class cElementParser
|
|
{
|
|
public:
|
|
std::string parsing(char const* strFormat, bool addMobNameDiff);
|
|
|
|
protected:
|
|
virtual int getValue(char const* /*str*/) = 0;
|
|
virtual int getStatus(int /*index*/) = 0;
|
|
virtual bool getMonsterName(char const* value, std::string &str) = 0;
|
|
};
|
|
/* 퀘스트용 파서
|
|
*/
|
|
class cElementQuestParser : public cElementParser
|
|
{
|
|
public:
|
|
cElementQuestParser() : m_quest(NULL) {}
|
|
void setQuest(QuestBase* quest) { m_quest = quest; }
|
|
|
|
protected:
|
|
virtual int getValue(char const* str);
|
|
virtual int getStatus(int index);
|
|
virtual bool getMonsterName(char const* value, std::string &str);
|
|
|
|
private:
|
|
QuestBase* m_quest;
|
|
};
|
|
/* 호칭용 파서
|
|
*/
|
|
class cElementTitleParser : public cElementParser
|
|
{
|
|
protected:
|
|
virtual int getValue(char const* str);
|
|
virtual int getStatus(int index);
|
|
virtual bool getMonsterName(char const* value, std::string &str);
|
|
private:
|
|
int m_ConditionTypeID;
|
|
|
|
public:
|
|
void setConditionTypeID(int id) { m_ConditionTypeID = id; }
|
|
};
|
|
|
|
#endif
|