Diffstat (limited to 'player/scripts/ShipArea2d.gd')
| -rw-r--r-- | player/scripts/ShipArea2d.gd | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/player/scripts/ShipArea2d.gd b/player/scripts/ShipArea2d.gd new file mode 100644 index 0000000..1a53336 --- /dev/null +++ b/player/scripts/ShipArea2d.gd @@ -0,0 +1,29 @@ +extends Area2D + +var target = null setget tar + +signal target + + +func tar(tget): + emit_signal("target", tget) + + +func _physics_process(_delta): + if !target or not is_instance_valid(target): + find_target() + + +func find_target(): + var units = get_overlapping_areas() + if units.size() > 0: + var closest = units[0] + for unit in units: + if ( + position.distance_to(unit.global_position) + < position.distance_to(closest.global_position) + ): + closest = unit + self.target = closest + else: + self.target = null |