using Koptilnya.StateMachine; using UnityEngine; namespace Characters.Enemy.States { public class IdleState : State { private readonly Enemy _enemy; private static readonly int DanceAnimHash = Animator.StringToHash("dance"); public IdleState(Enemy enemy) : base(EnemyState.Idle) { _enemy = enemy; } public override void Enter() { _enemy.SetSpeedMul(0f); _enemy.animator.SetBool(DanceAnimHash, true); } public override void Update() { var stateInfo = _enemy.animator.GetCurrentAnimatorStateInfo(0); if (stateInfo.shortNameHash == DanceAnimHash && stateInfo.normalizedTime >= 1) { _enemy.stateMachine.SetCurrentState(EnemyState.Patrol); } } public override void Exit() { _enemy.animator.SetBool(DanceAnimHash, false); _enemy.SetSpeedMul(1f); } } }