29 lines
441 B
GDScript
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
|