#include "stdafx.h" #ifdef _NA_008334_20150608_SONNENSCHEIN #include "EquRecoveryParse.h" BOOL EquRecoveryInfoParser::_Load( BOOL is_reload ) { if (is_reload == TRUE) { GetEquRecoveryInfoHash().clear(); } int row_size = GetRowSize(); for (int row= 0; row < row_size; ++row) { EquRecovery* reward_info = new EquRecovery(); reward_info->index = GetDataInt("id", row); reward_info->itemCode = GetDataInt("itemCode", row); reward_info->rewardCode = GetDataInt("rewardCode", row); reward_info->rewardCount = GetDataInt("rewardCount", row); GetEquRecoveryInfoHash().insert(EquRecoveryHash::value_type(reward_info->itemCode, reward_info)); } return TRUE; } void EquRecoveryInfoParser::_Unload() { EquRecoveryHash::iterator itr = equ_recovery_hash_.begin(); for (itr; itr != equ_recovery_hash_.end(); ++itr) { EquRecovery* info = (itr->second); SAFE_DELETE(info); } equ_recovery_hash_.clear(); } VOID EquRecoveryInfoParser::Init( char* file_name ) { SetPackFileName(file_name); } VOID EquRecoveryInfoParser::Release() { _Unload(); } BOOL EquRecoveryInfoParser::LoadScript( eSCRIPT_CODE script_code, BOOL is_reload ) { switch (script_code) { case SCRIPT_EQURECOVERY: return _Load(is_reload); default: break; } return FALSE; } const EquRecovery* EquRecoveryInfoParser::FindData( const int item_code ) const { EquRecoveryHash::const_iterator itr = equ_recovery_hash_.find(item_code); if (itr != equ_recovery_hash_.end()) { return itr->second; } return NULL; } #endif //_NA_008334_20150608_SONNENSCHEIN