extends Node3D var switched_on @export var start_on : bool = false @export var toggle_enabled : bool = false @export var bullet_enabled : bool = true @export var timer_enabled : bool = false @export var timer_duration : float = 2.0 signal switch_on() signal switch_off() # Called when the node enters the scene tree for the first time. func _ready() -> void: add_to_group("switch") add_to_group("interact") switched_on = start_on # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: pass func interact(): if toggle_enabled: if switched_on == true: switched_on = false SignalBus.emit_signal("switch_changed") else: switched_on = true SignalBus.emit_signal("switch_changed") else: switched_on = true SignalBus.emit_signal("switch_changed") func _on_static_body_3d_switch_hit() -> void: if bullet_enabled: interact()