From ca028523b98d479da4874530a634008fda863c07 Mon Sep 17 00:00:00 2001 From: vaporvee Date: Fri, 19 Jan 2024 15:13:55 +0100 Subject: [PATCH] ja --- scenes/door.tscn | 30 +++++++++---------- scripts/completion_counter.gd | 3 ++ scripts/door.gd | 2 ++ .../interactables/completer/button_stand.gd | 2 +- .../interactables/completer/completer_base.gd | 12 ++++++++ 5 files changed, 33 insertions(+), 16 deletions(-) diff --git a/scenes/door.tscn b/scenes/door.tscn index cc347fc..6e8257c 100644 --- a/scenes/door.tscn +++ b/scenes/door.tscn @@ -8,6 +8,21 @@ size = Vector3(1.5, 3, 0.2) [sub_resource type="BoxShape3D" id="BoxShape3D_pejvk"] size = Vector3(1.5, 3, 0.2) +[sub_resource type="Animation" id="Animation_hlq2m"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, 0)] +} + [sub_resource type="Animation" id="Animation_53g2p"] resource_name = "open" length = 0.5 @@ -24,21 +39,6 @@ tracks/0/keys = { "values": [Vector3(0, 0, 0), Vector3(1.4, 0, 0)] } -[sub_resource type="Animation" id="Animation_hlq2m"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector3(0, 0, 0)] -} - [sub_resource type="AnimationLibrary" id="AnimationLibrary_r8evj"] _data = { "RESET": SubResource("Animation_hlq2m"), diff --git a/scripts/completion_counter.gd b/scripts/completion_counter.gd index 61534e3..4a54da0 100644 --- a/scripts/completion_counter.gd +++ b/scripts/completion_counter.gd @@ -14,3 +14,6 @@ func complete(): uncompleted -= 1 if uncompleted == 0: unlock.emit() + +func uncomplete(): + pass #TODO diff --git a/scripts/door.gd b/scripts/door.gd index d2a579f..64f6f85 100644 --- a/scripts/door.gd +++ b/scripts/door.gd @@ -3,3 +3,5 @@ extends Node3D @onready var anim: AnimationPlayer = $AnimationPlayer func open(): anim.play("open") + +func close(): anim.play_backwards("open") diff --git a/scripts/interactables/completer/button_stand.gd b/scripts/interactables/completer/button_stand.gd index fe9750a..94f27f4 100644 --- a/scripts/interactables/completer/button_stand.gd +++ b/scripts/interactables/completer/button_stand.gd @@ -4,4 +4,4 @@ extends Completer func _on_interaction_area_interacted(): animation_player.play("press") - completed.emit() + super.toggle_complete() diff --git a/scripts/interactables/completer/completer_base.gd b/scripts/interactables/completer/completer_base.gd index 069f898..a708079 100644 --- a/scripts/interactables/completer/completer_base.gd +++ b/scripts/interactables/completer/completer_base.gd @@ -1,4 +1,16 @@ extends Node class_name Completer +@export var one_shot: bool + signal completed +signal uncompleted + +var toggle: bool = true + +func toggle_complete(): + toggle = !toggle + if one_shot || toggle: + completed.emit() + else: + uncompleted.emit()