63 lines
1.4 KiB
C++
63 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#ifndef PROGRAMCOMMON_HONORSYSTEM_TITLELISTPARSER_H_
|
|
#define PROGRAMCOMMON_HONORSYSTEM_TITLELISTPARSER_H_
|
|
|
|
#ifdef _NA_003027_20111013_HONOR_SYSTEM
|
|
|
|
#include <Singleton.h>
|
|
#include <SolarHashTable.h>
|
|
#include <SolarFileReader.h>
|
|
#include <ScriptCode.IParser.h>
|
|
|
|
class TitleListParser : public util::Singleton<TitleListParser>, public IParser
|
|
{
|
|
public:
|
|
enum DisplayType
|
|
{
|
|
kNone = 0,
|
|
kPrefixTitle = 1,
|
|
kPostfixTitle = 2,
|
|
};
|
|
|
|
struct TitleInfo
|
|
{
|
|
WORD title_code; // 칭호코드
|
|
eTITLE_TYPE title_type;
|
|
#ifndef _SERVER //if'N'def
|
|
DWORD title_name_code; // 칭호 제목
|
|
BYTE title_display_type; // 칭호 표시 타입
|
|
#endif //_SERVER
|
|
};
|
|
|
|
typedef util::SolarHashTable<TitleInfo*> TitleInfoTable;
|
|
|
|
public:
|
|
TitleListParser(void);
|
|
virtual ~TitleListParser(void);
|
|
|
|
void Init();
|
|
void Init(char* pack_filename);
|
|
void Release();
|
|
|
|
virtual BOOL LoadScript(eSCRIPT_CODE script_code, BOOL is_reload);
|
|
|
|
TitleInfo* GetTitleInfo(WORD title_code);
|
|
|
|
TitleInfoTable& GetTitleInfoTable() { return title_info_table_; }
|
|
|
|
private:
|
|
BOOL _Load(BOOL is_reload);
|
|
|
|
TitleInfoTable title_info_table_;
|
|
|
|
#ifdef _NA_008679_20160202_REWORK_BATTLEGROUND
|
|
BOOL IsRankingTitle(WORD index);
|
|
private:
|
|
std::vector<WORD> ranking_title_list_;
|
|
#endif //_NA_008679_20160202_REWORK_BATTLEGROUND
|
|
};
|
|
|
|
#endif //_NA_003027_20111013_HONOR_SYSTEM
|
|
|
|
#endif //PROGRAMCOMMON_HONORSYSTEM_TITLELISTPARSER_H_
|