84 lines
1.7 KiB
C++
84 lines
1.7 KiB
C++
|
|
#pragma once
|
|
|
|
//#include <string>
|
|
//#include <vector>
|
|
#include <map>
|
|
#include <toolkit/khash.h>
|
|
|
|
#pragma once
|
|
#pragma pack( 1 )
|
|
|
|
struct TitleResource
|
|
{
|
|
int id;
|
|
int name_id;
|
|
int tooltip_id; // 획득 조건 스트링 아이디
|
|
int status_id; // 진행 상황 스트링 아이디
|
|
char rate;
|
|
|
|
short opt_type[8];
|
|
float opt_var1[8];
|
|
float opt_var2[8];
|
|
|
|
int effect_id; // 성능 ID
|
|
int local_flag;
|
|
bool is_periodic;
|
|
|
|
int begin_of_period;
|
|
int end_of_period;
|
|
};
|
|
|
|
struct TitleConditionResource
|
|
{
|
|
int id;
|
|
int sub_id;
|
|
int group_id;
|
|
int condition_type_id;
|
|
__int64 count;
|
|
bool is_archieve_condition;
|
|
};
|
|
|
|
struct TitleConditionTypeResource
|
|
{
|
|
int id;
|
|
int category;
|
|
int category_value[3];
|
|
};
|
|
|
|
typedef std::map<int, TitleResource> mapTitleRes;
|
|
typedef std::multimap<int, TitleConditionResource> mapTitleCRes;
|
|
typedef std::map<int, TitleConditionTypeResource> mapTitleCTRes;
|
|
|
|
class STitleDB
|
|
{
|
|
public:
|
|
STitleDB();
|
|
~STitleDB();
|
|
const std::map<int,TitleResource>& GetTitleRes() { return m_TitleRes; }
|
|
const std::multimap<int,TitleConditionResource>& GetTitleConditionRes() { return m_TitleConditionRes; }
|
|
const std::map<int,TitleConditionTypeResource>& getTitleConditionTypeRes() { return m_titleTypeConditionRes; }
|
|
|
|
protected:
|
|
void Init();
|
|
void Destroy();
|
|
void Load();
|
|
|
|
void LoadTitleRes(); // 3개의 DB를 같이 관리 하므로 Load에서 세개를 호출해준다..
|
|
void LoadTitleConRes();
|
|
void LoadTitleConTypeRes();
|
|
|
|
std::map<int, TitleResource> m_TitleRes;
|
|
std::multimap<int, TitleConditionResource> m_TitleConditionRes;
|
|
std::map<int, TitleConditionTypeResource> m_titleTypeConditionRes;
|
|
|
|
private:
|
|
|
|
public:
|
|
static STitleDB* m_pThis;
|
|
};
|
|
|
|
STitleDB & GetTitleDB();
|
|
|
|
#pragma pack()
|