Files
project-thought-experiment/scripts/completion_counter.gd
2024-01-19 22:17:44 +01:00

29 lines
441 B
GDScript

extends Node
signal unlock
signal lock
@export var nodes_needed: Array[Completer]
var unlocked: bool
func _ready():
for node in nodes_needed:
node.triggered.connect(complete)
func complete():
if areAllNodesUnlocked():
if !unlocked:
unlock.emit()
unlocked = true
else:
if unlocked:
lock.emit()
unlocked = false
func areAllNodesUnlocked():
for node in nodes_needed:
if !node.completed:
return false
return true