extends Area2D class_name ActivationRange signal player_entered(player) signal player_left(player) func _ready(): connect("body_entered", self, "_body_entered") connect("body_exited", self, "_body_left") func in_range(): return overlaps_body($"/root/scene/world".player) func _body_entered(body: Node): if body == $"/root/scene/world".player: emit_signal("player_entered", body) func _body_left(body: Node): if body == $"/root/scene/world".player: emit_signal("player_left", body)