92 lines
1.9 KiB
C++
92 lines
1.9 KiB
C++
#include "stdafx.h"
|
|
/*
|
|
#include "SEnhanceEffectDB.h"
|
|
|
|
#include <rdu/RDUReader.h>
|
|
#include <rdu/ColumnDataGetter.h>
|
|
|
|
|
|
SEnhanceEffectDB* SEnhanceEffectDB::m_pThis = NULL;
|
|
SEnhanceEffectDB & GetEnhanceEffectDB()
|
|
{
|
|
if( NULL == SEnhanceEffectDB::m_pThis )
|
|
SEnhanceEffectDB::m_pThis = new SEnhanceEffectDB;
|
|
|
|
return *SEnhanceEffectDB::m_pThis;
|
|
}
|
|
|
|
|
|
SEnhanceEffectDB::SEnhanceEffectDB()
|
|
{
|
|
Init();
|
|
}
|
|
|
|
SEnhanceEffectDB::~SEnhanceEffectDB()
|
|
{
|
|
}
|
|
|
|
void SEnhanceEffectDB::Init()
|
|
{
|
|
Load();
|
|
}
|
|
|
|
const std::vector< ItemEnhanceEffectBase >& SEnhanceEffectDB::Find( int nEnhanceID )
|
|
{
|
|
auto pos = m_mapEnhanceEffect.find( nEnhanceID );
|
|
if( pos != m_mapEnhanceEffect.end() )
|
|
{
|
|
return pos->second;
|
|
}
|
|
|
|
static std::vector< ItemEnhanceEffectBase > empty_list;
|
|
return empty_list;
|
|
}
|
|
|
|
void SEnhanceEffectDB::Load()
|
|
{
|
|
KStream * pRes = KFileManager::Instance().CreateStreamFromResource( "db_EnhanceEffect.rdb" );
|
|
if( !pRes ) return;
|
|
|
|
RDUReader reader;
|
|
if( reader.Open( pRes ) == false )
|
|
{
|
|
return;
|
|
}
|
|
|
|
RDURow row;
|
|
while( reader.Fetch( &row ) == true )
|
|
{
|
|
ItemEnhanceEffectBase ee;
|
|
::memset( &ee, 0, sizeof( ee ) );
|
|
|
|
typedef ColumnDataGetter< DECIMALToDouble< false > > ColGetter;
|
|
|
|
ee.sid = ColGetter( row.At( "sid" ) ).ToInterger();
|
|
ee.sub_id = ColGetter( row.At( "sub_id" ) ).ToInterger();
|
|
ee.effect_id = ColGetter( row.At( "effect_id" ) ).ToInterger();
|
|
|
|
for( int i = 0; i < _countof( ee.value ); ++i )
|
|
{
|
|
char szColumnName[64] = "";
|
|
s_sprintf( szColumnName, _countof( szColumnName ), "value_%02d", i+1 );
|
|
|
|
ee.value[i] = ColGetter( row.At( szColumnName ) ).ToDouble();
|
|
}
|
|
|
|
auto pos = m_mapEnhanceEffect.find( ee.sid );
|
|
if( pos != m_mapEnhanceEffect.end() )
|
|
{
|
|
pos->second.push_back( ee );
|
|
}
|
|
else
|
|
{
|
|
std::vector< ItemEnhanceEffectBase > v;
|
|
v.push_back( ee );
|
|
m_mapEnhanceEffect.insert( std::make_pair( ee.sid, v ) );
|
|
}
|
|
}
|
|
|
|
KFileManager::Instance().DeleteStream( pRes );
|
|
}
|
|
*/
|