5 signal triggerBodyEntered
8 @export var groups: Array[String] = ["Player"]
9 @export var one_shot := true
12 func _ready() -> void:
13 body_entered.connect(_on_body_entered)
16 # trigger upon first body matching the specified group enters
17 # after trigger has fired, disable monitoring for the area
18 func _on_body_entered(body: Node3D):
20 if body.is_in_group(group):
22 triggerBodyEntered.emit(self, body)
24 set_deferred("monitoring", false)