You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
710 B
27 lines
710 B
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); |
|
} |
|
} |
|
}
|
|
|