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

36 lines
No EOL
1.8 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"
#include "MAStaticMovement.h"
#include "MAActorRenderBase.h"
#include "DnActor.h"
#ifdef _DEBUG
#define new new(_NORMAL_BLOCK,__FILE__,__LINE__)
#endif
MAStaticMovement::MAStaticMovement()
: m_vIdentity( 0.f, 0.f, 0.f )
{
}
MAStaticMovement::~MAStaticMovement()
{
}
void MAStaticMovement::Process( LOCAL_TIME LocalTime, float fDelta )
{
EtVector3 *vDist = m_pActor->GetAniDistance();
m_pMatExWorld->m_vPosition += m_pMatExWorld->m_vXAxis * vDist->x;
m_pMatExWorld->m_vPosition += m_pMatExWorld->m_vYAxis * vDist->y;
m_pMatExWorld->m_vPosition += m_pMatExWorld->m_vZAxis * vDist->z;
}
void MAStaticMovement::ForceLook( EtVector2 &vVec )
{
if( EtVec2LengthSq( &vVec ) > 0.f )
{
m_pMatExWorld->m_vZAxis = EtVector3( vVec.x, 0.f, vVec.y );
EtVec3Normalize( &m_pMatExWorld->m_vZAxis, &m_pMatExWorld->m_vZAxis );
m_pMatExWorld->MakeUpCartesianByZAxis();
}
}