Files
Sun1602/ProgramCommon/TitleListParser.h
T
2022-10-26 12:25:11 +08:00

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_