Files
GameJam2023/Scripts/RangedEnemy.cs
2023-09-04 04:19:27 -07:00

24 lines
647 B
C#

using Godot;
using System.Linq;
public partial class RangedEnemy : BasicEnemy
{
public override void _Process(double delta)
{
var players = GetTree().GetNodesInGroup("Player");
if (players.Any())
{
GD.Print("Fire at player");
var convertedPlayers = players.Select(x => (Node3D)x);
var target = convertedPlayers.OrderBy(x => Position.DistanceTo(x.Position)).FirstOrDefault();
var area = GetChildren().OfType<Area3D>().Single();
area.LookAt(target.Position, Vector3.Up);
}
}
public void OnHit(Node node)
{
GD.Print("Hit detected");
QueueFree();
}
}