using UnityEngine; namespace Ai { public class RotatingEnemy : TargetingEnemy { [SerializeField] private bool _endless; [SerializeField] private float _speed; public override void Proceed(Vector3 playerPosition) { if (!_endless && Vector3.Distance(playerPosition, transform.position) > _visibilityDistance) return; if (_endless) { transform.Rotate(0, _speed * Time.deltaTime, 0); return; } var targetPosition = playerPosition; var heading = targetPosition - transform.position; // ReSharper disable once Unity.InefficientPropertyAccess transform.forward = Vector3.Lerp(transform.forward, heading / heading.magnitude, _speed * Time.deltaTime); } } }