using UnityEngine; namespace Animators.Leonid_Animator.Bot { [RequireComponent(typeof(Rigidbody))] [RequireComponent(typeof(AnimatorHandler))] [RequireComponent(typeof(MovementController))] [RequireComponent(typeof(NPC))] public class BotLocomotion : MonoBehaviour { private Vector3 _moveDirection; private Transform _myTransform; private AnimatorHandler _myAnimatorHandler; private MovementController _movementController; private NPC _npc; private Rigidbody _myRigidbody; private void Start() { _myRigidbody = GetComponent(); _myAnimatorHandler = GetComponent(); _movementController = GetComponent(); _npc = GetComponent(); _myTransform = transform; _myAnimatorHandler.Initialize(); } public void UpdateAnimatorValues() { var movementDir = _movementController.Velocity; _myAnimatorHandler.UpdateAnimatorValues( Mathf.Clamp01(movementDir.magnitude), 0, false, _npc.NpcBodyState is NpcCrouchingState, _npc.IsFiring); } } }