102 lines
1.8 KiB
C++
102 lines
1.8 KiB
C++
#include "stdafx.h"
|
|
#include "SCreatureEnhanceDB.h"
|
|
#include <kfile/KFileManager.h>
|
|
#include "SkillBaseFile.h"
|
|
#include <kfile/KStream.h>
|
|
|
|
|
|
SCreatureEnhanceDB* SCreatureEnhanceDB::m_pThis = NULL;
|
|
SCreatureEnhanceDB& GetCreatureEnhanceDB()
|
|
{
|
|
if( NULL == SCreatureEnhanceDB::m_pThis )
|
|
SCreatureEnhanceDB::m_pThis = new SCreatureEnhanceDB;
|
|
|
|
return *SCreatureEnhanceDB::m_pThis;
|
|
|
|
// static SCreatureEnhanceDB CreatureEnhanceDB;
|
|
// return CreatureEnhanceDB;
|
|
}
|
|
|
|
SCreatureEnhanceDB::SCreatureEnhanceDB()
|
|
{
|
|
Init();
|
|
}
|
|
|
|
SCreatureEnhanceDB::~SCreatureEnhanceDB()
|
|
{
|
|
Destroy();
|
|
}
|
|
|
|
void SCreatureEnhanceDB::Init()
|
|
{
|
|
Load();
|
|
}
|
|
|
|
void SCreatureEnhanceDB::Destroy()
|
|
{
|
|
m_db.clear();
|
|
}
|
|
|
|
void SCreatureEnhanceDB::Load()
|
|
{
|
|
KStream * pRes = KFileManager::Instance().CreateStreamFromResource("db_CreatureEnhance.rdb");
|
|
if( !pRes ) return;
|
|
GAME_DB db_hdr;
|
|
|
|
pRes->Read( &db_hdr, sizeof(db_hdr) );
|
|
for (int i = 0; i < db_hdr.nCount; ++i)
|
|
{
|
|
sCreatureEnhanceDBInfo info;
|
|
pRes->Read(&info, sizeof (sCreatureEnhanceDBInfo));
|
|
m_db.push_back(info);
|
|
}
|
|
|
|
KFileManager::Instance().DeleteStream( pRes );
|
|
}
|
|
|
|
|
|
int SCreatureEnhanceDB::getEnhanceLevel(unsigned int enhance) const
|
|
{
|
|
if (enhance >= m_db.size()) return 0;
|
|
return (int)m_db[enhance].enhance_level;
|
|
}
|
|
|
|
float SCreatureEnhanceDB::getStatAmplify(unsigned int enhance) const
|
|
{
|
|
if (enhance >= m_db.size()) return 0.0f;
|
|
return m_db[enhance].slot_amount;
|
|
}
|
|
|
|
int SCreatureEnhanceDB::getCardDurability(unsigned int enhance) const
|
|
{
|
|
if (enhance >= m_db.size()) return 0;
|
|
return (int)m_db[enhance].card_durability;
|
|
}
|
|
|
|
int SCreatureEnhanceDB::getSlotAmount(unsigned int enhance) const
|
|
{
|
|
if (enhance >= m_db.size()) return 0;
|
|
return (int)m_db[enhance].slot_amount;
|
|
}
|
|
|
|
int SCreatureEnhanceDB::getJpAddition(unsigned int enhance) const
|
|
{
|
|
if (enhance >= m_db.size()) return 0;
|
|
return (int)m_db[enhance].jp_addition;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|