2024-12-21 10:04:04 +08:00
|
|
|
#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();
|
|
|
|
|
}
|
|
|
|
|
}
|