#include "stdafx.h" #include "SBanWordDB.h" #include #include #include "KTypes.h" #include #include #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 ); }