using Godot; using System.Linq; public partial class MeleeEnemy : BasicEnemy { [Export] private float _speed = 0.8f; private bool _targetingPlayer = false; [Export] private double _distanceToPlayer = 4; public override void _PhysicsProcess(double delta) { var players = GetTree().GetNodesInGroup("Player").Cast(); if (players.Any()) { var target = players.OrderBy(x => Position.DistanceTo(x.Position)).FirstOrDefault(); if (_targetingPlayer || Position.DistanceTo(target.Position) < _distanceToPlayer) { Position = Position.MoveToward(target.Position, _speed * (float)delta); _targetingPlayer = true; } } } }