extends Area3D class_name VoleDetector signal on signal off var intersect_count := 0 func _on_area_entered(area: Area3D) -> void: if area is not VoleDetector: return if intersect_count == 0: on.emit() intersect_count += 1 func _on_area_exited(area: Area3D) -> void: if area is not VoleDetector: return intersect_count -= 1 if intersect_count == 0: off.emit() func vole(): return owner