42 lines
1.6 KiB
C++
42 lines
1.6 KiB
C++
#pragma once
|
|
|
|
//#include <string>
|
|
//#include <vector>
|
|
#include <toolkit/khash.h>
|
|
#include <toolkit/XFlag.h>
|
|
|
|
class SCombineDB
|
|
{
|
|
protected:
|
|
KHash< struct CombineBase*, hashPr_mod_int> m_hashCombine;
|
|
void Init();
|
|
void Destroy();
|
|
void Load();
|
|
|
|
private:
|
|
bool LookUp( int nID, CombineBase * pItem );
|
|
|
|
public:
|
|
int GetMainType( int nID );
|
|
int GetMainTypeValue( int nID );
|
|
bool CheckValue( int nType, int nTypeValue, int nBigGroup, int nGroup, int nID, int nRank, int nLv, const XFlag<int> xFlag, int nEnhance, int nItemCount );
|
|
bool IsMain( int nBigGroup, int nGroup, int nID, int nRank, int nLv, const XFlag<int> xFlag, int nEnhance, int nItemCount );
|
|
bool IsSub( int nBigGroup, int nGroup, int nID, int nRank, int nLv, const XFlag<int> xFlag, int nEnhance, int nItemCount );
|
|
|
|
/// 2012.03.27 해당 조건에 맞는 메인 슬롯 조합 리스트를 구한다 - prodongi
|
|
void getMainMixList(int nBigGroup, int nGroup, int nID, int nRank, int nLv, const XFlag<int> xFlag, int nEnhance, int nItemCount, std::vector<int>& mainMixList);
|
|
/// 2012.03.27 메인 슬롯 조합 리스트 중에서 해당 조건에 맞는 서브 슬롯 조합 리스트를 구한다- prodongi
|
|
void getSubMixList(int nBigGroup, int nGroup, int nID, int nRank, int nLv, const XFlag<int> xFlag, int nEnhance, int nItemCount, const std::vector<int>& mainMixList, std::vector<int>& subMixList);
|
|
int getMixType(int id);
|
|
|
|
int GetSubType( int nID, int nIndex );
|
|
int GetSubTypeValue( int nID, int nIndex );
|
|
|
|
public:
|
|
SCombineDB();
|
|
~SCombineDB();
|
|
|
|
static SCombineDB* m_pThis;
|
|
};
|
|
|
|
SCombineDB & GetCombineDB(); |