示例#1
0
void CNetPlayerInput::PreUpdate()
{
	IPhysicalEntity * pPhysEnt = m_pPlayer->GetEntity()->GetPhysics();

	if (pPhysEnt && !m_pPlayer->IsDead())
	{
		if (m_pPlayer->AllowPhysicsUpdate(m_curInput.physCounter) && m_pPlayer->IsRemote() && HasReceivedUpdate())
		{
			UpdateInterpolation();
		}
		else
		{
			m_newInterpolation = false;
			m_passedNetPos = true;
			m_passedPredictionPos = true;
		}

		UpdateMoveRequest();
	}
}
示例#2
0
void CNetPlayerInput::PreUpdate()
{
	IPhysicalEntity * pPhysEnt = m_pPlayer->GetEntity()->GetPhysics();

	if (pPhysEnt && !m_pPlayer->IsDead() && m_pPlayer->GetLinkedVehicle()==NULL && m_pPlayer->GetActorStats()->isAnimatedSlave==0)
	{
		if (m_pPlayer->AllowPhysicsUpdate(m_curInput.physCounter) && m_pPlayer->IsRemote() && HasReceivedUpdate())
		{
			UpdateInterpolation();
		}
		else
		{
			m_newInterpolation = false;
		}
		UpdateDesiredVelocity();
		UpdateMoveRequest();
	}
	else
	{
		m_lerper.Disable();
		m_lerpVel.zero();
	}
}