Files
AIGame/AIClient/Assets/HotUpdate/Scripts/Gameplay/ExplorerLocomotion.cs
T

28 lines
837 B
C#

using UnityEngine;
namespace HotUpdate.Gameplay
{
/// <summary>Plays Idle or Walk on the camp guide from how far the root moved.</summary>
public sealed class ExplorerLocomotion : MonoBehaviour
{
Animator _animator;
Vector3 _last;
void Awake()
{
_animator = GetComponentInChildren<Animator>();
if (_animator != null) _animator.applyRootMotion = false;
_last = transform.position;
}
void LateUpdate()
{
if (_animator == null) return;
Vector3 delta = transform.position - _last;
_last = transform.position;
float speed = new Vector2(delta.x, delta.z).magnitude / Mathf.Max(Time.deltaTime, 0.0001f);
_animator.SetInteger("Motion", speed > 0.04f ? 1 : 0);
}
}
}