98 lines
2.4 KiB
C++
98 lines
2.4 KiB
C++
#include "stdafx.h"
|
|
#include "SDefaultTextureIconResourceDB.h"
|
|
|
|
#include <Windows.h>
|
|
#include "KTypes.h"
|
|
#include <kfile/KStream.h>
|
|
#include <kfile/KFileManager.h>
|
|
#include <toolkit/XStringUtil.h>
|
|
#include "SkillBaseFile.h"
|
|
#include "ContentStruct.h"
|
|
#include "SStringDB.h"
|
|
|
|
#include "SDebug_Util.h"
|
|
|
|
SDefaultTextureIconResourceDB* SDefaultTextureIconResourceDB::m_pThis = NULL;
|
|
SDefaultTextureIconResourceDB & GetDefaultTextureIconResourceDB()
|
|
{
|
|
if( NULL == SDefaultTextureIconResourceDB::m_pThis )
|
|
SDefaultTextureIconResourceDB::m_pThis = new SDefaultTextureIconResourceDB;
|
|
|
|
return *SDefaultTextureIconResourceDB::m_pThis;
|
|
|
|
// static SDefaultTextureIconResourceDB DefaultTextureIconResourceDB;
|
|
// return DefaultTextureIconResourceDB;
|
|
}
|
|
|
|
SDefaultTextureIconResourceDB::SDefaultTextureIconResourceDB()
|
|
{
|
|
Init();
|
|
}
|
|
|
|
SDefaultTextureIconResourceDB::~SDefaultTextureIconResourceDB()
|
|
{
|
|
Destroy();
|
|
}
|
|
|
|
void SDefaultTextureIconResourceDB::Init()
|
|
{
|
|
Load();
|
|
}
|
|
|
|
void SDefaultTextureIconResourceDB::Destroy()
|
|
{
|
|
/*DefaultTextureIconResourceforGame* pDefaultTextureIconResource = NULL;
|
|
bool res;
|
|
res = m_hashDefaultTextureIconResource.get_first_value( pDefaultTextureIconResource );
|
|
while ( res )
|
|
{
|
|
if ( pDefaultTextureIconResource != NULL )
|
|
{
|
|
delete pDefaultTextureIconResource;
|
|
}
|
|
res = m_hashDefaultTextureIconResource.get_next_value( pDefaultTextureIconResource );
|
|
}
|
|
m_hashDefaultTextureIconResource.clear();*/
|
|
|
|
SAFE_DELETE_VECTOR( m_vIconList );
|
|
}
|
|
|
|
void SDefaultTextureIconResourceDB::Load()
|
|
{
|
|
KStream * pRes = KFileManager::Instance().CreateStreamFromResource( "db_DefaultTextureIconResource.rdb" );
|
|
if( !pRes ) return;
|
|
GAME_DB db_hdr;
|
|
|
|
pRes->Read( &db_hdr, sizeof(db_hdr) );
|
|
|
|
|
|
for( int i(0); db_hdr.nCount>i; i++ )
|
|
{
|
|
DefaultTextureIconResourceforGame* pItem = new DefaultTextureIconResourceforGame;
|
|
|
|
DefaultTextureIconResource defItem;
|
|
memset( &defItem, 0, sizeof(defItem) );
|
|
pRes->Read( &defItem, sizeof(defItem) );
|
|
|
|
pItem->SetData( &defItem );
|
|
|
|
//DefaultTextureIconResourceforGame* pFindItem = NULL;
|
|
//if( m_hashDefaultTextureIconResource.lookup( pItem->icon_id, pFindItem ) == false )
|
|
{
|
|
m_vIconList.push_back(pItem);
|
|
}
|
|
}
|
|
|
|
KFileManager::Instance().DeleteStream( pRes );
|
|
}
|
|
|
|
const char* SDefaultTextureIconResourceDB::GetIconFileName(int nIndex)
|
|
{
|
|
for( unsigned int i(0); m_vIconList.size()>i; i++ )
|
|
{
|
|
if( m_vIconList[i]->icon_id == nIndex )
|
|
return m_vIconList[i]->icon_file;
|
|
}
|
|
return "NotFoundFile";
|
|
|
|
} |