I don’t understand much what did you mean, but I will post out the code:
extends Area2D
@onready var shape_pos := $CollisionShape2D
var home_pos: Vector2 # Position of CollisionShape
var distance: float
func get_area_intersect() -> void:
var area_array := get_overlapping_bodies() #Create Array of bodys
home_pos = shape_pos.global_position #get position of players Attack shape
if area_array:
area_array.sort_custom(the_distance_sorter)
for target in area_array:
distance = target.position.distance_to(home_pos)
print(target.name, "- ", round(distance))
func the_distance_sorter(a, b) -> bool:
if a.position.distance_squared_to(home_pos) < b.position.distance_squared_to(home_pos):
return true
return false
this should print out a sorted array