using Koptilnya.StateMachine; using UnityEngine; namespace Characters.Enemy.States { public class ChaseState : State { private readonly Enemy _enemy; public ChaseState(Enemy enemy) : base(EnemyState.Chase) { _enemy = enemy; } public override void Enter() { if (!_enemy.isServer) return; _enemy.SetAimRigWeight(1f); } public override void Update() { if (!_enemy.isServer) return; _enemy.agent.destination = _enemy.target.position; float distance = Vector3.Distance(_enemy.target.transform.position, _enemy.transform.position); if (distance < _enemy.aggressionDistance) { _enemy.aimTransform.position = _enemy.target.position + _enemy.target.up * 1.2f; // if (distance < 1f) // { // if (canAttack && !isKilling) // { // RpcKillPlayer(_target); // animator.SetTrigger("attack"); // // StartCoroutine(AfterKillTimer()); // } // } } else { _enemy.state = EnemyState.Idle; } } public override void Exit() { if (!_enemy.isServer) return; _enemy.target = null; _enemy.SetAimRigWeight(0f); } } }