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

50 lines
1.2 KiB
C++

#pragma once
#ifdef _20220329_ADD_EQU_RECOVERY
#include <Singleton.h>
#include <SolarFileReader.h>
#include <ScriptCode.IParser.h>
#include <SolarHashTable.h>
struct EquRecovery
{
int index; // 인덱스 (보상단계)
int itemCode; // 타겟 타입
int rewardCode; // 타겟 리스트
int rewardCount; // 채집물(각인물)
// 하임드랍 상향률 보상
EquRecovery()
{
::ZeroMemory(this, sizeof(*this));
}
};
class EquRecoveryInfoParser : public util::Singleton<EquRecoveryInfoParser>, public IParser
{
public:
typedef STLX_HASH_MAP<int, EquRecovery*> EquRecoveryHash;
EquRecoveryInfoParser() {}
virtual ~EquRecoveryInfoParser() {}
VOID Init() {}
VOID Init(char* file_name);
virtual VOID Release();
virtual BOOL LoadScript(eSCRIPT_CODE script_code, BOOL is_reload);
const EquRecovery* FindData(const int itemCode) const;
EquRecoveryHash& GetEquRecoveryInfoHash() {return equ_recovery_hash_;}
WORD GetDataSize() {return equ_recovery_hash_.size();}
private:
EquRecoveryHash equ_recovery_hash_;
BOOL _Load(BOOL is_reload);
void _Unload();
};
#endif //_20220329_ADD_EQU_RECOVERY