i dont even remember

This commit is contained in:
2024-01-19 22:17:44 +01:00
parent af5ad7e3f6
commit 448c2f352a
32 changed files with 596 additions and 32 deletions

View File

@@ -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
View 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")

View File

@@ -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()

View File

@@ -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()