Files
fps_project_1/levels/switchcontroller.gd
2024-10-11 22:29:41 -05:00

37 lines
770 B
GDScript

extends Node
@export var door : Node
@export var switches = []
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
SignalBus.switch_changed.connect(_on_switch_changed)
for i in self.get_children():
if i.is_in_group("switch"):
switches.append(i)
print(switches)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func _on_switch_changed() -> void:
var switches_needed = switches.size()
var switches_on = 0
for i in switches:
if i.switched_on:
switches_on += 1
print("switches on " + str(switches_on))
if switches_on == switches_needed:
if door.door_open == false:
door.open()
else:
if door.door_open == true:
door.close()