Files
2022-10-26 12:25:11 +08:00

76 lines
1.5 KiB
C++

#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