i dont even remember
This commit is contained in:
@@ -1,19 +1,28 @@
|
||||
extends Node
|
||||
|
||||
signal unlock
|
||||
signal lock
|
||||
|
||||
@export var nodes_needed: Array[Completer]
|
||||
var uncompleted: int
|
||||
|
||||
var unlocked: bool
|
||||
|
||||
func _ready():
|
||||
uncompleted = nodes_needed.size()
|
||||
for node in nodes_needed:
|
||||
node.completed.connect(complete)
|
||||
node.triggered.connect(complete)
|
||||
|
||||
func complete():
|
||||
uncompleted -= 1
|
||||
if uncompleted == 0:
|
||||
unlock.emit()
|
||||
if areAllNodesUnlocked():
|
||||
if !unlocked:
|
||||
unlock.emit()
|
||||
unlocked = true
|
||||
else:
|
||||
if unlocked:
|
||||
lock.emit()
|
||||
unlocked = false
|
||||
|
||||
func uncomplete():
|
||||
pass #TODO
|
||||
func areAllNodesUnlocked():
|
||||
for node in nodes_needed:
|
||||
if !node.completed:
|
||||
return false
|
||||
return true
|
||||
|
6
scripts/gravity_gun.gd
Normal file
6
scripts/gravity_gun.gd
Normal file
@@ -0,0 +1,6 @@
|
||||
extends CanvasLayer
|
||||
|
||||
@onready var gravity_particles: GPUParticles3D = $SubViewportContainer/SubViewport/Node3D/Camera3D/MeshInstance3D/GravityParticles
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
gravity_particles.visible = Input.is_action_pressed("gravity_activate")
|
@@ -4,4 +4,7 @@ extends Completer
|
||||
|
||||
func _on_interaction_area_interacted():
|
||||
animation_player.play("press")
|
||||
super.toggle_complete()
|
||||
toggle_complete()
|
||||
if one_shot:
|
||||
await animation_player.animation_finished
|
||||
$Button.hide()
|
||||
|
@@ -1,16 +1,16 @@
|
||||
@tool
|
||||
extends Node
|
||||
class_name Completer
|
||||
|
||||
@export var one_shot: bool
|
||||
|
||||
signal completed
|
||||
signal uncompleted
|
||||
signal triggered
|
||||
|
||||
var toggle: bool = true
|
||||
var completed: bool
|
||||
|
||||
func toggle_complete():
|
||||
toggle = !toggle
|
||||
if one_shot || toggle:
|
||||
completed.emit()
|
||||
if one_shot:
|
||||
completed = true
|
||||
else:
|
||||
uncompleted.emit()
|
||||
completed = !completed
|
||||
triggered.emit()
|
||||
|
Reference in New Issue
Block a user