76 lines
1.5 KiB
C++
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
|