DragonNest/GameCommon/MATalismanUser.cpp
2024-12-20 16:56:44 +08:00

52 lines
No EOL
2.1 KiB
C++
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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