52 lines
1.0 KiB
C++
52 lines
1.0 KiB
C++
|
|
#pragma once
|
|
|
|
#include <toolkit/khash.h>
|
|
//#include <vector>
|
|
#include "K3DTypes.h"
|
|
#include "EnhanceFX.h"
|
|
|
|
class SWeapon_EnhanceLevel
|
|
{
|
|
private:
|
|
KHash< EnhanceFX*, hashPr_mod_int> m_hashEnhanceFX;
|
|
public:
|
|
void AddInfo( EnhanceFX* pEnhanceFx );
|
|
EnhanceFX* FindInfo( int nEnhanceLevel );
|
|
public:
|
|
SWeapon_EnhanceLevel() {}
|
|
~SWeapon_EnhanceLevel()
|
|
{
|
|
EnhanceFX* pEnhanceFx = NULL;
|
|
bool res;
|
|
res = m_hashEnhanceFX.get_first_value( pEnhanceFx );
|
|
while ( res )
|
|
{
|
|
if ( pEnhanceFx != NULL )
|
|
{
|
|
delete pEnhanceFx;
|
|
}
|
|
res = m_hashEnhanceFX.get_next_value( pEnhanceFx );
|
|
}
|
|
m_hashEnhanceFX.clear();
|
|
}
|
|
};
|
|
|
|
class SEnhanceFXDB
|
|
{
|
|
private:
|
|
KHash< SWeapon_EnhanceLevel*, hashPr_mod_int> m_hashWeaponClass; ///< 무기 랭크 정보와 무기 클래스 아이디 저장
|
|
|
|
void Init();
|
|
void Load();
|
|
void Destroy();
|
|
public:
|
|
EnhanceFX* GetEnhanceFx( int nClassID, int nEnhanceLevel );
|
|
public:
|
|
SEnhanceFXDB();
|
|
~SEnhanceFXDB();
|
|
|
|
static SEnhanceFXDB* m_pThis;
|
|
};
|
|
|
|
SEnhanceFXDB & GetEnhanceFXDB(); |