#pragma once //#include //#include #include #include 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 xFlag, int nEnhance, int nItemCount ); bool IsMain( int nBigGroup, int nGroup, int nID, int nRank, int nLv, const XFlag xFlag, int nEnhance, int nItemCount ); bool IsSub( int nBigGroup, int nGroup, int nID, int nRank, int nLv, const XFlag xFlag, int nEnhance, int nItemCount ); /// 2012.03.27 해당 조건에 맞는 메인 슬롯 조합 리스트를 구한다 - prodongi void getMainMixList(int nBigGroup, int nGroup, int nID, int nRank, int nLv, const XFlag xFlag, int nEnhance, int nItemCount, std::vector& mainMixList); /// 2012.03.27 메인 슬롯 조합 리스트 중에서 해당 조건에 맞는 서브 슬롯 조합 리스트를 구한다- prodongi void getSubMixList(int nBigGroup, int nGroup, int nID, int nRank, int nLv, const XFlag xFlag, int nEnhance, int nItemCount, const std::vector& mainMixList, std::vector& 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();