castleskillinfo.cpp
来自「天之炼狱1服务器端源文件游戏服务端不完整」· C++ 代码 · 共 191 行
CPP
191 行
//////////////////////////////////////////////////////////////////////////////// Filename : CastleSkillInfo.cpp// Written By :// Description ://////////////////////////////////////////////////////////////////////////////#include "CastleSkillInfo.h"#include "Skill.h"#include "Assert.h"#include "DB.h"//////////////////////////////////////////////////////////////////////////////// class CastleSkillInfo member methods//////////////////////////////////////////////////////////////////////////////CastleSkillInfo::CastleSkillInfo(){ __BEGIN_TRY __END_CATCH}CastleSkillInfo::~CastleSkillInfo(){ __BEGIN_TRY __END_CATCH}string CastleSkillInfo::toString() const{ __BEGIN_TRY StringStream msg; msg << "CastleSkillInfo (" << "SkillType:" << (int)m_SkillType << ",ZoneID:" << (int)m_ZoneID << ")"; return msg.toString(); __END_CATCH}//////////////////////////////////////////////////////////////////////////////// class CastleSkillInfoManager member methods//////////////////////////////////////////////////////////////////////////////CastleSkillInfoManager::CastleSkillInfoManager() throw(){ __BEGIN_TRY __END_CATCH}CastleSkillInfoManager::~CastleSkillInfoManager() throw(){ __BEGIN_TRY clear(); __END_CATCH}void CastleSkillInfoManager::clear() throw(Error){ __BEGIN_TRY HashMapCastleSkillInfoItor itr = m_CastleSkillInfos.begin(); for ( ; itr != m_CastleSkillInfos.end() ; ++itr ) { SAFE_DELETE( itr->second ); } m_CastleSkillInfos.clear(); __END_CATCH}void CastleSkillInfoManager::load() throw(Error){ __BEGIN_TRY __BEGIN_DEBUG Statement* pStmt = NULL; Result* pResult = NULL; BEGIN_DB { pStmt = g_pDatabaseManager->getConnection("DARKEDEN")->createStatement(); pResult = pStmt->executeQuery("Select SkillType, ZoneID from CastleSkillInfo"); while (pResult->next()) { int count = 0; CastleSkillInfo* pCastleSkillInfo = new CastleSkillInfo(); pCastleSkillInfo->setSkillType( pResult->getInt( ++count ) ); pCastleSkillInfo->setZoneID( pResult->getInt( ++count ) ); addCastleSkillInfo( pCastleSkillInfo ); } SAFE_DELETE(pStmt); } END_DB(pStmt) __END_DEBUG __END_CATCH}void CastleSkillInfoManager::addCastleSkillInfo( CastleSkillInfo* pCastleSkillInfo ) throw(Error){ __BEGIN_TRY Assert( pCastleSkillInfo != NULL ); HashMapCastleSkillInfoItor itr = m_CastleSkillInfos.find( pCastleSkillInfo->getSkillType() ); if ( itr != m_CastleSkillInfos.end() ) { throw Error("CastleSkillInfoManager::addCastleSkillInfo : 捞固 甸绢啊乐绰 SkillType涝聪促."); } m_CastleSkillInfos[ pCastleSkillInfo->getSkillType() ] = pCastleSkillInfo; __END_CATCH}SkillType_t CastleSkillInfoManager::getSkillType( ZoneID_t ZoneID ) const{ HashMapCastleSkillInfoConstItor itr = m_CastleSkillInfos.begin(); for ( ; itr != m_CastleSkillInfos.end() ; ++itr ) { CastleSkillInfo* pCastleSkillInfo = itr->second; if ( pCastleSkillInfo != NULL && pCastleSkillInfo->getZoneID() == ZoneID ) { return pCastleSkillInfo->getSkillType(); } } // 绝促. return SKILL_MAX;}ZoneID_t CastleSkillInfoManager::getZoneID( SkillType_t SkillType ) const{ HashMapCastleSkillInfoConstItor itr = m_CastleSkillInfos.find( SkillType ); if ( itr != m_CastleSkillInfos.end() ) { return itr->second->getZoneID(); } return 0;}string CastleSkillInfoManager::toString() const throw(){ __BEGIN_TRY StringStream msg; msg << "CastleSkillInfoManager("; HashMapCastleSkillInfoConstItor itr = m_CastleSkillInfos.begin(); for ( ; itr != m_CastleSkillInfos.end() ; ++itr ) { msg << itr->second->toString(); } msg << ")"; return msg.toString(); __END_CATCH}// Global Variable definitionCastleSkillInfoManager* g_pCastleSkillInfoManager = NULL;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?