using Godot; using System.Linq; public partial class MeleeEnemy : BasicEnemy { [Export] private float _speed = 0.4f; public override void _PhysicsProcess(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(); Position = Position.MoveToward(target.Position, _speed * (float)delta); //MoveAndSlide(); } } } public partial class BasicEnemy : Node3D { public void OnHit(Node3D node) { QueueFree(); } private void DebugOnHit() { var node = new Node3D(); OnHit(node); } }