52 lines
No EOL
1 KiB
C++
52 lines
No EOL
1 KiB
C++
#include "stdafx.h"
|
|
|
|
#if defined(PRE_ADD_TALISMAN_SYSTEM)
|
|
#include "MATalismanUser.h"
|
|
MATalismanUser::MATalismanUser()
|
|
{
|
|
memset( m_bSelfDelete, 0, sizeof(m_bSelfDelete) );
|
|
}
|
|
|
|
MATalismanUser::~MATalismanUser()
|
|
{
|
|
for(DWORD i = 0 ; i < TALISMAN_MAX ; ++i)
|
|
{
|
|
DetachTalisman(i);
|
|
}
|
|
}
|
|
|
|
void MATalismanUser::Process( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
}
|
|
|
|
bool MATalismanUser::AttachTalisman( DnTalismanHandle hTalisman, int Index, float fRatio, bool bDelete/* = false*/ )
|
|
{
|
|
if(!hTalisman)
|
|
return false;
|
|
|
|
if( m_hTalisman[Index] && m_hTalisman[Index] != hTalisman)
|
|
{
|
|
MATalismanUser::DetachTalisman(Index);
|
|
}
|
|
m_hTalisman[Index] = hTalisman;
|
|
m_bSelfDelete[Index] = bDelete;
|
|
|
|
hTalisman->CalculateRatioValue(fRatio); //½½·Ô °¡ÁßÄ¡ °è»ê
|
|
return true;
|
|
}
|
|
|
|
bool MATalismanUser::DetachTalisman( int Index )
|
|
{
|
|
if(!m_hTalisman[Index])
|
|
return false;
|
|
|
|
if( m_bSelfDelete[Index] )
|
|
{
|
|
SAFE_RELEASE_SPTR(m_hTalisman[Index]);
|
|
m_bSelfDelete[Index] = false;
|
|
}
|
|
m_hTalisman[Index].Identity();
|
|
return true;
|
|
}
|
|
|
|
#endif // PRE_ADD_TALISMAN_SYSTEM
|