Marty-v58/source-client/Srcs/Client/EffectLib/EffectUpdateDecorator.cpp
2024-06-01 15:57:23 -05:00

39 lines
1.1 KiB
C++

#include "stdafx.h"
#include "EffectUpdateDecorator.h"
#include "ParticleInstance.h"
namespace NEffectUpdateDecorator
{
CBaseDecorator* CAirResistanceDecorator::__Clone(CParticleInstance* pfi, CParticleInstance* pi)
{
pi->m_fAirResistance = pfi->m_fAirResistance;
return new CAirResistanceDecorator;
}
void CAirResistanceDecorator::__Excute(const CDecoratorData & d)
{
d.pInstance->m_v3Velocity *= 1.0f-d.pInstance->m_fAirResistance;
}
CBaseDecorator* CGravityDecorator::__Clone(CParticleInstance* pfi, CParticleInstance* pi)
{
pi->m_fGravity = pfi->m_fGravity;
return new CGravityDecorator;
}
void CGravityDecorator::__Excute(const CDecoratorData& d)
{
d.pInstance->m_v3Velocity.z -= d.pInstance->m_fGravity * d.fElapsedTime;
}
CBaseDecorator* CRotationDecorator::__Clone(CParticleInstance* pfi, CParticleInstance* pi)
{
pi->m_fRotationSpeed = pfi->m_fRotationSpeed;
return new CRotationDecorator;
}
void CRotationDecorator::__Excute(const CDecoratorData& d)
{
d.pInstance->m_fRotation += d.pInstance->m_fRotationSpeed * d.fElapsedTime;
}
}
//martysama0134's 2e58d0b8baeb072acdf3afc4a5d1999f