DragonNest/Client/EtActionTool/SCRMoveY.cpp
2024-12-19 09:48:26 +08:00

52 lines
1.5 KiB
C++

#include "StdAfx.h"
#include "SCRMoveY.h"
#include "ActionSignal.h"
#include "ActionObject.h"
CSCRMoveY::CSCRMoveY( const char *szSignalName )
: CSignalCustomRender( szSignalName )
{
}
CSCRMoveY::~CSCRMoveY()
{
}
void CSCRMoveY::Initialize()
{
m_bActivate = true;
OnModify();
}
void CSCRMoveY::OnModify()
{
}
void CSCRMoveY::OnSelect( bool bFirst )
{
}
void CSCRMoveY::OnUnSelect()
{
}
void CSCRMoveY::OnProcess( LOCAL_TIME LocalTime, float fDelta )
{
int iFrameLength = m_pSignal->GetEndFrame() - m_pSignal->GetStartFrame();
float fVelocityY = m_pSignal->GetProperty(0)->GetVariableFloat();
float fWholeMoveYDistance = fVelocityY * ((float)iFrameLength / 60.0f);
fWholeMoveYDistance = (0.0f < fWholeMoveYDistance) ? fWholeMoveYDistance : -fWholeMoveYDistance;
((CActionObject*)m_pSignal->GetParent()->GetParent())->SetMoveYDistancePerSec( fVelocityY, fWholeMoveYDistance );
//float fYDelta = pStruct->fVelocityY * ((float(SignalEndTime - SignalStartTime) / 1000.0f));
//float fWholeMoveYDistance = (0.0f < fYDelta) ? fYDelta : -fYDelta;
//m_pMovement->SetMoveYDistancePerSec( pStruct->fVelocityY, fWholeMoveYDistance, (pStruct->bMaintainYPos == TRUE) ? true : false );
//float fVelocity = m_pSignal->GetProperty(0)->GetVariableFloat();
//float fResistance = m_pSignal->GetProperty(1)->GetVariableFloat();
//((CActionObject*)m_pSignal->GetParent()->GetParent())->SetVelocity( EtVector3( 0.f, fVelocity, 0.f ) );
//((CActionObject*)m_pSignal->GetParent()->GetParent())->SetResistance( EtVector3( 0.f, fResistance, 0.f ) );
}