using DG.Tweening; using UnityEngine; namespace Ai { public class JumpingEnemy : TargetingEnemy { [SerializeField] private float _jumpTime; [SerializeField] private float _idleTime; [SerializeField] private float _radius = 1; private float _currentIdle; private bool _jump; public override void Proceed(Vector3 playerPosition) { if (Vector3.Distance(playerPosition, transform.position) > _visibilityDistance) return; if (!_jump) { _currentIdle++; if (!(_currentIdle >= _idleTime)) return; _jump = true; var randomed = (Vector3) Random.insideUnitCircle * _radius; randomed.z = randomed.y; randomed.y = 0; transform.DOMove(playerPosition + randomed, _jumpTime).OnComplete(() => _jump = false); } } } }