class_name EventTrigger extends Node @export var triggerMultipleTimes: bool = false var eventIf:EventIf = null func _enter_tree() -> void: for child in get_children(): if !(child is EventIf): continue eventIf = child break if eventIf == null: push_error(self, "requires an EventIf child to function properly") return eventIf.eventConditionMet.connect(onConditionTriggered) eventIf.onTriggerListening(self) func _exit_tree() -> void: if eventIf != null: eventIf.eventConditionMet.disconnect(onConditionTriggered) eventIf.onTriggerNotListening(self) eventIf = null func onConditionTriggered() -> void: if !triggerMultipleTimes: eventIf.eventConditionMet.disconnect(onConditionTriggered) eventIf.onTriggerNotListening(self) eventIf.start()