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

39 lines
1.2 KiB
C++

#pragma once
#include <SolarHashTable.h>
#include <Singleton.h>
#include <SolarFileReader.h>
struct BattleGroundFlagInfo
{
BattleGroundFlagInfo();
~BattleGroundFlagInfo();
DWORD collection_id; // 채집 id
DWORD strong_point_key; // 거점의 오브젝트키
DWORD strong_point_name; // 거점 이름(string_code)
std::vector<DWORD> vector_flag_key; // 깃발의 오브젝트키
};
typedef STLX_MULTIMAP<MAPCODE, BattleGroundFlagInfo*> BATTLE_GROUND_FLAG_INFO_MAP;
typedef BATTLE_GROUND_FLAG_INFO_MAP::iterator BATTLE_GROUND_FLAG_INFO_MAP_ITER;
class BattleGroundFlagInfoParser : public util::Singleton<BattleGroundFlagInfoParser>, public IParser
{
public:
BattleGroundFlagInfoParser();
~BattleGroundFlagInfoParser();
virtual void Release() {}
virtual BOOL LoadScript(eSCRIPT_CODE ScriptCode, BOOL bReload);
BattleGroundFlagInfo* GetBattleGroundFlagInfo(const MAPCODE map_code, const DWORD collection_id);
DWORD GetStrongPointName(const MAPCODE map_code, const DWORD object_id);
const BATTLE_GROUND_FLAG_INFO_MAP& GetBattleGroundFlagInfoHashMap() const { return data_table_; }
private:
void Unload();
BATTLE_GROUND_FLAG_INFO_MAP data_table_;
};