SanAndreasUnity/Assets/Scripts/Behaviours/Ped/States/CrouchMoveState.cs

46 lines
937 B
C#
Raw Normal View History

2020-05-31 19:07:22 +02:00
using UnityEngine;
using SanAndreasUnity.Utilities;
using SanAndreasUnity.Importing.Animation;
namespace SanAndreasUnity.Behaviours.Peds.States
{
public class CrouchMoveState : BaseMovementState
{
public override AnimId movementAnim { get { return new AnimId ("ped", "GunCrouchFwd"); } }
public override AnimId movementWeaponAnim { get { return this.movementAnim; } }
protected override void SwitchToMovementState ()
{
// can only switch to Crouch state
if( m_ped.Movement.sqrMagnitude < float.Epsilon )
{
m_ped.SwitchState<CrouchState>();
}
}
protected override void SwitchToAimState ()
{
// can only switch to CrouchAim state
CrouchState.SwitchToAimState(m_ped);
}
public override void OnJumpPressed ()
{
// ignore
}
public override void OnCrouchButtonPressed ()
{
2019-04-28 18:28:49 +02:00
if (m_isServer)
m_ped.SwitchState<StandState>();
2019-04-28 19:13:01 +02:00
else
base.OnCrouchButtonPressed();
2020-05-31 19:07:22 +02:00
}
}
}