50 lines
1.2 KiB
C++
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
|