Files
Leviathan/Client/Game/game/DB/SCombineDB.h
T
2026-06-01 12:46:52 +02:00

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();