63 lines
1.1 KiB
C++
63 lines
1.1 KiB
C++
#include "stdafx.h"
|
|
#include "SBanWordDB.h"
|
|
|
|
#include <Windows.h>
|
|
#include <kfile/KStream.h>
|
|
#include "KTypes.h"
|
|
#include <kfile/KFileManager.h>
|
|
#include <toolkit/XStringUtil.h>
|
|
#include "BanWordBase.h"
|
|
#include "SkillBaseFile.h"
|
|
|
|
#include "SDebug_Util.h"
|
|
|
|
SBanWordDB* SBanWordDB::m_pThis = NULL;
|
|
SBanWordDB & GetBanWordDB()
|
|
{
|
|
if( NULL == SBanWordDB::m_pThis )
|
|
SBanWordDB::m_pThis = new SBanWordDB;
|
|
|
|
return *SBanWordDB::m_pThis;
|
|
// static SBanWordDB BanWordDB;
|
|
// return BanWordDB;
|
|
}
|
|
|
|
SBanWordDB::SBanWordDB()
|
|
{
|
|
Init();
|
|
}
|
|
|
|
SBanWordDB::~SBanWordDB()
|
|
{
|
|
Destroy();
|
|
}
|
|
|
|
void SBanWordDB::Init()
|
|
{
|
|
Load();
|
|
}
|
|
|
|
void SBanWordDB::Destroy()
|
|
{
|
|
SAFE_DELETE_VECTOR( m_vBanWord );
|
|
}
|
|
|
|
void SBanWordDB::Load()
|
|
{
|
|
KStream * pRes = KFileManager::Instance().CreateStreamFromResource( "db_BanWord.rdb" );
|
|
if( !pRes ) return;
|
|
GAME_DB db_hdr;
|
|
|
|
pRes->Read( &db_hdr, sizeof(db_hdr) );
|
|
for( int i(0); db_hdr.nCount>i; i++ )
|
|
{
|
|
BanWordBase *pBanWord = new BanWordBase;
|
|
memset( pBanWord, 0, sizeof(BanWordBase) );
|
|
|
|
pRes->Read( pBanWord, sizeof(BanWordBase) );
|
|
|
|
m_vBanWord.push_back( pBanWord );
|
|
}
|
|
|
|
KFileManager::Instance().DeleteStream( pRes );
|
|
} |