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

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