Files
GameJam2023/Enemies/Scripts/RangedEnemy.cs
2023-09-07 20:03:22 -07:00

19 lines
644 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())
{
var convertedPlayers = players.Select(x => (Node3D)x);
var target = convertedPlayers.OrderBy(x => Position.DistanceTo(x.Position)).FirstOrDefault();
var hitBox = GetNode<CharacterBody3D>("CharacterBody").GetChildren().OfType<Area3D>().Single();
hitBox.LookAt(target.Position, Vector3.Up);
hitBox.Rotation = new Vector3(0, hitBox.Rotation.Y, hitBox.Rotation.Z);
}
}
}