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() { if (!_enemy.isServer) return; _enemy.SetSpeedMul(0f); _enemy.animator.SetBool(DanceAnimHash, true); } public override void Update() { if (!_enemy.isServer) return; var stateInfo = _enemy.animator.GetCurrentAnimatorStateInfo(0); if (stateInfo.shortNameHash == DanceAnimHash && stateInfo.normalizedTime >= 1) { _enemy.state = EnemyState.Patrol; } } public override void Exit() { if (!_enemy.isServer) return; _enemy.animator.SetBool(DanceAnimHash, false); _enemy.SetSpeedMul(1f); } } }