diff --git a/src/base-environments/youth_room/room_handle.gd b/src/base-environments/youth_room/room_handle.gd index 70d7fcf..656773d 100644 --- a/src/base-environments/youth_room/room_handle.gd +++ b/src/base-environments/youth_room/room_handle.gd @@ -11,7 +11,8 @@ enum Modes { signal freeze signal unfreeze -signal startup +signal ini_room +signal resume_room var current_mode: int = Modes.FREEZE: set(new_mode): @@ -19,10 +20,7 @@ var current_mode: int = Modes.FREEZE: current_mode = _update_scene(new_mode) func start(): - emit_signal("startup") - $light_animation.play("light_up") - $AudioPlayer.play("intro") - State.pass_stage_to($PlayerController) + emit_signal("ini_room") current_mode = Modes.WALKING func _update_scene(new_mode) -> int: diff --git a/src/base-environments/youth_room/youth_room.tscn b/src/base-environments/youth_room/youth_room.tscn index 2ea2c7f..a91a563 100644 --- a/src/base-environments/youth_room/youth_room.tscn +++ b/src/base-environments/youth_room/youth_room.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=87 format=3 uid="uid://b3b0gyvklqn50"] +[gd_scene load_steps=84 format=3 uid="uid://b3b0gyvklqn50"] [ext_resource type="Script" path="res://base-environments/youth_room/room_handle.gd" id="1_aitp0"] [ext_resource type="PackedScene" uid="uid://c0i4ydmxtxfho" path="res://base-environments/youth_room/import/youth_room.glb" id="1_jf3oi"] @@ -114,7 +114,7 @@ length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("AudioPlayer/VoiceTraining:playing") +tracks/0/path = NodePath("ScenePlayer/VoiceTraining:playing") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -126,7 +126,7 @@ tracks/0/keys = { tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("AudioPlayer/Moving:volume_db") +tracks/1/path = NodePath("ScenePlayer/Moving:volume_db") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { @@ -138,7 +138,7 @@ tracks/1/keys = { tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("AudioPlayer/Childhood:volume_db") +tracks/2/path = NodePath("ScenePlayer/Childhood:volume_db") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { @@ -150,7 +150,7 @@ tracks/2/keys = { tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("AudioPlayer/VoiceTraining:volume_db") +tracks/3/path = NodePath("ScenePlayer/VoiceTraining:volume_db") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { @@ -162,7 +162,7 @@ tracks/3/keys = { tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true -tracks/4/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_ratio") +tracks/4/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_ratio") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { @@ -174,7 +174,7 @@ tracks/4/keys = { tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true -tracks/5/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/5/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { @@ -186,7 +186,7 @@ tracks/5/keys = { tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true -tracks/6/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") +tracks/6/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { @@ -198,7 +198,7 @@ tracks/6/keys = { tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true -tracks/7/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") +tracks/7/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { @@ -210,7 +210,7 @@ tracks/7/keys = { tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true -tracks/8/path = NodePath("AudioPlayer/childhood:modulate") +tracks/8/path = NodePath("ScenePlayer/childhood:modulate") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { @@ -222,7 +222,7 @@ tracks/8/keys = { tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true -tracks/9/path = NodePath("AudioPlayer/childhood/PanelContainer:self_modulate") +tracks/9/path = NodePath("ScenePlayer/childhood/PanelContainer:self_modulate") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { @@ -234,7 +234,7 @@ tracks/9/keys = { tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true -tracks/10/path = NodePath("AudioPlayer/childhood:visible") +tracks/10/path = NodePath("ScenePlayer/childhood:visible") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { @@ -246,7 +246,7 @@ tracks/10/keys = { tracks/11/type = "value" tracks/11/imported = false tracks/11/enabled = true -tracks/11/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") +tracks/11/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/keys = { @@ -258,7 +258,7 @@ tracks/11/keys = { tracks/12/type = "value" tracks/12/imported = false tracks/12/enabled = true -tracks/12/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/12/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/keys = { @@ -270,7 +270,7 @@ tracks/12/keys = { tracks/13/type = "value" tracks/13/imported = false tracks/13/enabled = true -tracks/13/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:emitting") +tracks/13/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:emitting") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/keys = { @@ -282,7 +282,7 @@ tracks/13/keys = { tracks/14/type = "value" tracks/14/imported = false tracks/14/enabled = true -tracks/14/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:amount") +tracks/14/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:amount") tracks/14/interp = 1 tracks/14/loop_wrap = true tracks/14/keys = { @@ -294,19 +294,19 @@ tracks/14/keys = { tracks/15/type = "value" tracks/15/imported = false tracks/15/enabled = true -tracks/15/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_speed") +tracks/15/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_speed") tracks/15/interp = 1 tracks/15/loop_wrap = true tracks/15/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [0.0] +"values": [10.0] } tracks/16/type = "value" tracks/16/imported = false tracks/16/enabled = true -tracks/16/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:one_shot") +tracks/16/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:one_shot") tracks/16/interp = 1 tracks/16/loop_wrap = true tracks/16/keys = { @@ -318,7 +318,7 @@ tracks/16/keys = { tracks/17/type = "value" tracks/17/imported = false tracks/17/enabled = true -tracks/17/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:lifetime") +tracks/17/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:lifetime") tracks/17/interp = 1 tracks/17/loop_wrap = true tracks/17/keys = { @@ -330,7 +330,7 @@ tracks/17/keys = { tracks/18/type = "value" tracks/18/imported = false tracks/18/enabled = true -tracks/18/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:explosiveness") +tracks/18/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:explosiveness") tracks/18/interp = 1 tracks/18/loop_wrap = true tracks/18/keys = { @@ -342,7 +342,7 @@ tracks/18/keys = { tracks/19/type = "value" tracks/19/imported = false tracks/19/enabled = true -tracks/19/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:speed_scale") +tracks/19/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:speed_scale") tracks/19/interp = 1 tracks/19/loop_wrap = true tracks/19/keys = { @@ -354,14 +354,86 @@ tracks/19/keys = { tracks/20/type = "value" tracks/20/imported = false tracks/20/enabled = true -tracks/20/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_power") +tracks/20/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_power") tracks/20/interp = 1 tracks/20/loop_wrap = true tracks/20/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [5.0] +"values": [3.0] +} +tracks/21/type = "value" +tracks/21/imported = false +tracks/21/enabled = true +tracks/21/path = NodePath("ScenePlayer/jui_jutsu:visible") +tracks/21/interp = 1 +tracks/21/loop_wrap = true +tracks/21/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/22/type = "value" +tracks/22/imported = false +tracks/22/enabled = true +tracks/22/path = NodePath("ScenePlayer/Voice Training:modulate") +tracks/22/interp = 1 +tracks/22/loop_wrap = true +tracks/22/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 0.923078)] +} +tracks/23/type = "value" +tracks/23/imported = false +tracks/23/enabled = true +tracks/23/path = NodePath("ScenePlayer/Voice Training:visible") +tracks/23/interp = 1 +tracks/23/loop_wrap = true +tracks/23/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/24/type = "value" +tracks/24/imported = false +tracks/24/enabled = true +tracks/24/path = NodePath("ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") +tracks/24/interp = 1 +tracks/24/loop_wrap = true +tracks/24/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(800, 800)] +} +tracks/25/type = "value" +tracks/25/imported = false +tracks/25/enabled = true +tracks/25/path = NodePath("ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") +tracks/25/interp = 1 +tracks/25/loop_wrap = true +tracks/25/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [-1] +} +tracks/26/type = "value" +tracks/26/imported = false +tracks/26/enabled = true +tracks/26/path = NodePath("ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/26/interp = 1 +tracks/26/loop_wrap = true +tracks/26/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] } [sub_resource type="Animation" id="Animation_g5l1m"] @@ -370,7 +442,7 @@ length = 100.0 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("AudioPlayer/Moving:volume_db") +tracks/0/path = NodePath("ScenePlayer/Moving:volume_db") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -382,7 +454,7 @@ tracks/0/keys = { tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("AudioPlayer/Childhood:volume_db") +tracks/1/path = NodePath("ScenePlayer/Childhood:volume_db") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { @@ -394,7 +466,7 @@ tracks/1/keys = { tracks/2/type = "audio" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("AudioPlayer/Lisa") +tracks/2/path = NodePath("ScenePlayer/Lisa") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { @@ -409,7 +481,7 @@ tracks/2/use_blend = true tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_ratio") +tracks/3/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_ratio") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { @@ -421,7 +493,7 @@ tracks/3/keys = { tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true -tracks/4/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/4/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") tracks/4/interp = 2 tracks/4/loop_wrap = true tracks/4/keys = { @@ -433,7 +505,7 @@ tracks/4/keys = { tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true -tracks/5/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") +tracks/5/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { @@ -445,7 +517,7 @@ tracks/5/keys = { tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true -tracks/6/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") +tracks/6/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") tracks/6/interp = 2 tracks/6/loop_wrap = true tracks/6/keys = { @@ -457,7 +529,7 @@ tracks/6/keys = { tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true -tracks/7/path = NodePath("AudioPlayer/childhood:modulate") +tracks/7/path = NodePath("ScenePlayer/childhood:modulate") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { @@ -469,7 +541,7 @@ tracks/7/keys = { tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true -tracks/8/path = NodePath("AudioPlayer/childhood/PanelContainer:self_modulate") +tracks/8/path = NodePath("ScenePlayer/childhood/PanelContainer:self_modulate") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { @@ -495,7 +567,7 @@ tracks/9/keys = { tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true -tracks/10/path = NodePath("AudioPlayer/childhood:visible") +tracks/10/path = NodePath("ScenePlayer/childhood:visible") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { @@ -505,81 +577,13 @@ tracks/10/keys = { "values": [true, false] } -[sub_resource type="Animation" id="Animation_as75l"] -resource_name = "childhood_intro" -length = 10.0 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("AudioPlayer/Moving:volume_db") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 9), -"transitions": PackedFloat32Array(1.93187, 1), -"update": 0, -"values": [0.0, -80.0] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("AudioPlayer/Childhood:volume_db") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 9), -"transitions": PackedFloat32Array(0.176777, 1), -"update": 0, -"values": [-80.0, 0.0] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("AudioPlayer/Lisa:playing") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} - -[sub_resource type="Animation" id="Animation_60him"] -resource_name = "childhood_outro" -length = 10.0 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("AudioPlayer/Moving:volume_db") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 9), -"transitions": PackedFloat32Array(0.307786, 1), -"update": 0, -"values": [-80.0, 0.0] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("AudioPlayer/Childhood:volume_db") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 9), -"transitions": PackedFloat32Array(2.54912, 1), -"update": 0, -"values": [0.0, -80.0] -} - [sub_resource type="Animation" id="Animation_1pmhi"] resource_name = "intro" length = 20.0 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("AudioPlayer/Moving:volume_db") +tracks/0/path = NodePath("ScenePlayer/Moving:volume_db") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -591,7 +595,7 @@ tracks/0/keys = { tracks/1/type = "method" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("AudioPlayer") +tracks/1/path = NodePath("ScenePlayer") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { @@ -605,7 +609,7 @@ tracks/1/keys = { tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("AudioPlayer/Childhood:volume_db") +tracks/2/path = NodePath("ScenePlayer/Childhood:volume_db") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { @@ -617,7 +621,7 @@ tracks/2/keys = { tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("AudioPlayer/VoiceTraining:volume_db") +tracks/3/path = NodePath("ScenePlayer/VoiceTraining:volume_db") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { @@ -627,84 +631,13 @@ tracks/3/keys = { "values": [-80.0] } -[sub_resource type="Animation" id="Animation_t64y4"] -resource_name = "voice training" -length = 100.0 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("AudioPlayer/Moving:volume_db") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 5.6, 89.4, 97.5), -"transitions": PackedFloat32Array(1.93187, 1, 0.189465, 1.93187), -"update": 0, -"values": [0.0, -80.0, -80.0, 0.0] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("AudioPlayer/VoiceTraining:volume_db") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0.1, 5.7, 89.4, 97.7), -"transitions": PackedFloat32Array(0.176777, 1, 1.93187, 0.176777), -"update": 0, -"values": [-80.0, 0.0, 0.0, -80.0] -} -tracks/2/type = "audio" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("AudioPlayer/Lisa") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"clips": [{ -"end_offset": 290.288, -"start_offset": 0.0, -"stream": ExtResource("9_dqdgk") -}], -"times": PackedFloat32Array(0.4) -} -tracks/2/use_blend = true - -[sub_resource type="Animation" id="Animation_8gaqi"] -resource_name = "voice_intro" -length = 10.0 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("AudioPlayer/Moving:volume_db") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 9), -"transitions": PackedFloat32Array(1.93187, 1), -"update": 0, -"values": [0.0, -80.0] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("AudioPlayer/VoiceTraining:volume_db") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 9.1), -"transitions": PackedFloat32Array(0.241484, 1), -"update": 0, -"values": [-80.0, 0.0] -} - [sub_resource type="Animation" id="Animation_dot4p"] resource_name = "jui_jutsu" length = 210.0 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("AudioPlayer/Moving:volume_db") +tracks/0/path = NodePath("ScenePlayer/Moving:volume_db") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -716,7 +649,7 @@ tracks/0/keys = { tracks/1/type = "audio" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("AudioPlayer/Lisa") +tracks/1/path = NodePath("ScenePlayer/Lisa") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { @@ -735,7 +668,7 @@ tracks/1/use_blend = true tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/2/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") tracks/2/interp = 2 tracks/2/loop_wrap = true tracks/2/keys = { @@ -747,7 +680,7 @@ tracks/2/keys = { tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") +tracks/3/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { @@ -759,7 +692,7 @@ tracks/3/keys = { tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true -tracks/4/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") +tracks/4/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") tracks/4/interp = 2 tracks/4/loop_wrap = true tracks/4/keys = { @@ -771,7 +704,7 @@ tracks/4/keys = { tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true -tracks/5/path = NodePath("AudioPlayer/jui_jutsu:modulate") +tracks/5/path = NodePath("ScenePlayer/jui_jutsu:modulate") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { @@ -783,7 +716,7 @@ tracks/5/keys = { tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true -tracks/6/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer:self_modulate") +tracks/6/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer:self_modulate") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { @@ -809,11 +742,11 @@ tracks/7/keys = { tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true -tracks/8/path = NodePath("AudioPlayer/childhood:visible") +tracks/8/path = NodePath("ScenePlayer/jui_jutsu:visible") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { -"times": PackedFloat32Array(0, 93.1), +"times": PackedFloat32Array(0, 206.7), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -821,7 +754,7 @@ tracks/8/keys = { tracks/9/type = "audio" tracks/9/imported = false tracks/9/enabled = true -tracks/9/path = NodePath("AudioPlayer/Jui_Jutsu") +tracks/9/path = NodePath("ScenePlayer/Jui_Jutsu") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { @@ -836,7 +769,7 @@ tracks/9/use_blend = true tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true -tracks/10/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") +tracks/10/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { @@ -848,7 +781,7 @@ tracks/10/keys = { tracks/11/type = "value" tracks/11/imported = false tracks/11/enabled = true -tracks/11/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:emitting") +tracks/11/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:emitting") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/keys = { @@ -860,7 +793,7 @@ tracks/11/keys = { tracks/12/type = "value" tracks/12/imported = false tracks/12/enabled = true -tracks/12/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:amount") +tracks/12/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:amount") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/keys = { @@ -872,7 +805,7 @@ tracks/12/keys = { tracks/13/type = "value" tracks/13/imported = false tracks/13/enabled = true -tracks/13/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_speed") +tracks/13/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_speed") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/keys = { @@ -884,7 +817,7 @@ tracks/13/keys = { tracks/14/type = "value" tracks/14/imported = false tracks/14/enabled = true -tracks/14/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:one_shot") +tracks/14/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:one_shot") tracks/14/interp = 1 tracks/14/loop_wrap = true tracks/14/keys = { @@ -896,7 +829,7 @@ tracks/14/keys = { tracks/15/type = "value" tracks/15/imported = false tracks/15/enabled = true -tracks/15/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:lifetime") +tracks/15/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:lifetime") tracks/15/interp = 1 tracks/15/loop_wrap = true tracks/15/keys = { @@ -908,7 +841,7 @@ tracks/15/keys = { tracks/16/type = "value" tracks/16/imported = false tracks/16/enabled = true -tracks/16/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:explosiveness") +tracks/16/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:explosiveness") tracks/16/interp = 1 tracks/16/loop_wrap = true tracks/16/keys = { @@ -920,7 +853,7 @@ tracks/16/keys = { tracks/17/type = "value" tracks/17/imported = false tracks/17/enabled = true -tracks/17/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:speed_scale") +tracks/17/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:speed_scale") tracks/17/interp = 1 tracks/17/loop_wrap = true tracks/17/keys = { @@ -932,7 +865,7 @@ tracks/17/keys = { tracks/18/type = "value" tracks/18/imported = false tracks/18/enabled = true -tracks/18/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_power") +tracks/18/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_power") tracks/18/interp = 1 tracks/18/loop_wrap = true tracks/18/keys = { @@ -941,13 +874,153 @@ tracks/18/keys = { "update": 0, "values": [5.0, 2.0, 0.3, 0.3, 1.5] } +tracks/19/type = "method" +tracks/19/imported = false +tracks/19/enabled = true +tracks/19/path = NodePath("ScenePlayer") +tracks/19/interp = 1 +tracks/19/loop_wrap = true +tracks/19/keys = { +"times": PackedFloat32Array(), +"transitions": PackedFloat32Array(), +"values": [] +} + +[sub_resource type="Animation" id="Animation_t64y4"] +resource_name = "voice training" +length = 105.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("ScenePlayer/Moving:volume_db") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 5.6, 94.8, 102.9), +"transitions": PackedFloat32Array(1.93187, 1, 0.189465, 1.93187), +"update": 0, +"values": [0.0, -80.0, -80.0, 0.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("ScenePlayer/VoiceTraining:volume_db") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.1, 5.7, 94.8, 103.1), +"transitions": PackedFloat32Array(0.176777, 1, 1.93187, 0.176777), +"update": 0, +"values": [-80.0, 0.0, 0.0, -80.0] +} +tracks/2/type = "audio" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("ScenePlayer/Lisa") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"clips": [{ +"end_offset": 290.288, +"start_offset": 0.0, +"stream": ExtResource("9_dqdgk") +}], +"times": PackedFloat32Array(0.4) +} +tracks/2/use_blend = true +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("ScenePlayer/Voice Training:modulate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.6, 97.2, 98.8), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 0.923078), Color(1, 1, 1, 0.923078), Color(1, 1, 1, 0)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("ScenePlayer/Voice Training:visible") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 100.5), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0.1, 0.8, 97, 98.9), +"transitions": PackedFloat32Array(0.535887, 1, 2, 0.535887), +"update": 0, +"values": [Vector2(800, 750), Vector2(800, 800), Vector2(800, 800), Vector2(800, 750)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0.6, 3.4, 7.9, 9.5, 14.1, 20.839, 29.8, 31.8233, 37.1, 39.5, 42.3, 45.8, 47.3949, 51.2, 55.5952, 61.1605, 63.5, 64.7412, 65.8, 70.1, 71.5212, 76.9388, 79.1504, 82.3541, 85.6, 86.4, 89.3, 90, 92.1, 94), +"transitions": PackedFloat32Array(0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604), +"update": 0, +"values": [0, 23, 114, 114, 161, 265, 419, 419, 538, 538, 570, 644, 644, 690, 753, 833, 900, 900, 903, 959, 959, 1067, 1067, 1105, 1154, 1154, 1210, 1210, 1239, 1265] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(70.9, 72, 95.5, 98.8), +"transitions": PackedFloat32Array(0.466516, 1, 2.46229, 1), +"update": 0, +"values": [0, 226, 226, 0] +} + +[sub_resource type="Animation" id="Animation_8gaqi"] +resource_name = "voice_intro" +length = 10.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("ScenePlayer/Moving:volume_db") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 9), +"transitions": PackedFloat32Array(1.93187, 1), +"update": 0, +"values": [0.0, -80.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("ScenePlayer/VoiceTraining:volume_db") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 9.1), +"transitions": PackedFloat32Array(0.241484, 1), +"update": 0, +"values": [-80.0, 0.0] +} [sub_resource type="AnimationLibrary" id="AnimationLibrary_ilekd"] _data = { "RESET": SubResource("Animation_nwry8"), "childhood": SubResource("Animation_g5l1m"), -"childhood_intro": SubResource("Animation_as75l"), -"childhood_outro": SubResource("Animation_60him"), "intro": SubResource("Animation_1pmhi"), "jui_jutsu": SubResource("Animation_dot4p"), "voice training": SubResource("Animation_t64y4"), @@ -957,15 +1030,24 @@ _data = { [sub_resource type="GDScript" id="GDScript_tfc2r"] script/source = "extends AnimationPlayer +var has_stage + func start_soundtrack(): $Moving.play(70) $Childhood.play(70) $VoiceTraining.play(70) -func _on_childhood_collected(): - play(\"childhood\") +func play_scene(id: int): + State.queue_for_stage(self) + match id: + Scenes.id.YOUTH_CHILDHOOD: + play(\"childhood\") + Scenes.id.YOUTH_VOICE_TRAINING: + play(\"voice training\") + Scenes.id.YOUTH_JUI_JUTSU: + play(\"jui_jutsu\") -func _on_youth_room_startup(): +func _on_ini_room(): play(\"intro\") " @@ -1016,7 +1098,7 @@ animations = [{ "speed": 5.0 }] -[sub_resource type="GDScript" id="GDScript_8bs16"] +[sub_resource type="GDScript" id="GDScript_252ei"] script/source = "extends AnimatedSprite2D @onready var particles = $GPUParticles2D @@ -1027,6 +1109,9 @@ var noise_position = randf() var noise: Noise = FastNoiseLite.new() @export var void_active: bool = true +func _ready(): + reduce_motion_changed(State.reduce_motion) + func _process(delta): if void_active and not State.reduce_motion: noise_position += delta * noise_speed @@ -1042,6 +1127,10 @@ func _process(delta): particles.position = random_position else: position = initial_position + +func reduce_motion_changed(value:bool): + $GPUParticles2D.visible = !value + $Sprite2D.visible = value " [sub_resource type="Gradient" id="Gradient_v70nd"] @@ -1085,19 +1174,15 @@ color_ramp = SubResource("GradientTexture1D_xxq8p") turbulence_noise_strength = 0.1 attractor_interaction_enabled = false -[sub_resource type="GDScript" id="GDScript_vjwk7"] -script/source = "extends GPUParticles2D +[sub_resource type="BoxShape3D" id="BoxShape3D_cb3g8"] +size = Vector3(1.81843, 2.13395, 0.0774798) -func _process(_delta): - self.visible = !State.reduce_motion -" +[sub_resource type="ViewportTexture" id="ViewportTexture_7hana"] +viewport_path = NodePath("logic/clothes_interaction/UiWrapper/UiSprite/SubViewport") -[sub_resource type="GDScript" id="GDScript_tgc0b"] -script/source = "extends Sprite2D - -func _process(_delta): - self.visible = State.reduce_motion -" +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_72g2i"] +radius = 0.342951 +height = 1.08154 [sub_resource type="GDScript" id="GDScript_35dmj"] script/source = "extends SpotLight3D @@ -1229,6 +1314,16 @@ _data = { "menu": SubResource("Animation_upogh") } +[sub_resource type="GDScript" id="GDScript_5ot1o"] +script/source = "extends AnimationPlayer + +func _on_ini_room(): + play(\"light_up\") + +func play_scene(_id: int): + play(\"lights_out\") +" + [sub_resource type="GDScript" id="GDScript_yn0pl"] script/source = "extends SpotLight3D @@ -1312,18 +1407,11 @@ func focus_env(): func focus_object(): var dof_strength_tween: Tween = create_tween() dof_strength_tween.tween_property(camera_attributes, \"dof_blur_amount\", 0.6, 1) + +func play_scene(_id: int): + focus_object() " -[sub_resource type="BoxShape3D" id="BoxShape3D_cb3g8"] -size = Vector3(1.81843, 2.13395, 0.0774798) - -[sub_resource type="ViewportTexture" id="ViewportTexture_7hana"] -viewport_path = NodePath("Collectable/UiWrapper/UiSprite/SubViewport") - -[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_72g2i"] -radius = 0.342951 -height = 1.08154 - [node name="youth room" type="Node3D"] script = ExtResource("1_aitp0") @@ -1499,28 +1587,26 @@ mouse_filter = 1 visible = false layout_mode = 1 -[node name="AudioPlayer" type="AnimationPlayer" parent="logic" groups=["animation_player"]] -autoplay = "jui_jutsu" +[node name="ScenePlayer" type="AnimationPlayer" parent="logic" groups=["animation_player"]] +autoplay = "RESET" libraries = { "": SubResource("AnimationLibrary_ilekd") } script = SubResource("GDScript_tfc2r") -[node name="Lisa" type="AudioStreamPlayer" parent="logic/AudioPlayer"] -volume_db = 5.0 +[node name="Lisa" type="AudioStreamPlayer" parent="logic/ScenePlayer"] bus = &"text" -[node name="Moving" type="AudioStreamPlayer" parent="logic/AudioPlayer"] +[node name="Moving" type="AudioStreamPlayer" parent="logic/ScenePlayer"] stream = ExtResource("8_egnow") volume_db = -80.0 -autoplay = true bus = &"music" -[node name="Childhood" type="AudioStreamPlayer" parent="logic/AudioPlayer"] +[node name="Childhood" type="AudioStreamPlayer" parent="logic/ScenePlayer"] stream = ExtResource("9_i8mqk") bus = &"music" -[node name="childhood" type="CenterContainer" parent="logic/AudioPlayer"] +[node name="childhood" type="CenterContainer" parent="logic/ScenePlayer"] visible = false modulate = Color(1, 1, 1, 0) self_modulate = Color(1, 1, 1, 0.923078) @@ -1531,11 +1617,11 @@ offset_right = -424.0 grow_horizontal = 2 grow_vertical = 2 -[node name="PanelContainer" type="PanelContainer" parent="logic/AudioPlayer/childhood"] +[node name="PanelContainer" type="PanelContainer" parent="logic/ScenePlayer/childhood"] layout_mode = 2 mouse_filter = 1 -[node name="StartFrame" type="TextureRect" parent="logic/AudioPlayer/childhood/PanelContainer"] +[node name="StartFrame" type="TextureRect" parent="logic/ScenePlayer/childhood/PanelContainer"] custom_minimum_size = Vector2(0, 900) layout_mode = 2 size_flags_vertical = 0 @@ -1543,7 +1629,7 @@ texture = ExtResource("2_21x33") expand_mode = 2 stretch_mode = 4 -[node name="Panel" type="PanelContainer" parent="logic/AudioPlayer/childhood/PanelContainer/StartFrame"] +[node name="Panel" type="PanelContainer" parent="logic/ScenePlayer/childhood/PanelContainer/StartFrame"] show_behind_parent = true layout_mode = 2 offset_left = 199.0 @@ -1553,15 +1639,15 @@ offset_bottom = 697.0 rotation = 0.459022 mouse_filter = 1 -[node name="VBoxContainer" type="VBoxContainer" parent="logic/AudioPlayer/childhood/PanelContainer"] +[node name="VBoxContainer" type="VBoxContainer" parent="logic/ScenePlayer/childhood/PanelContainer"] layout_mode = 2 -[node name="Label" type="Label" parent="logic/AudioPlayer/childhood/PanelContainer/VBoxContainer"] +[node name="Label" type="Label" parent="logic/ScenePlayer/childhood/PanelContainer/VBoxContainer"] layout_mode = 2 theme_type_variation = &"HeaderLarge" text = " Childhood" -[node name="ScrollContainer" type="ScrollContainer" parent="logic/AudioPlayer/childhood/PanelContainer/VBoxContainer"] +[node name="ScrollContainer" type="ScrollContainer" parent="logic/ScenePlayer/childhood/PanelContainer/VBoxContainer"] custom_minimum_size = Vector2(800, 750) layout_mode = 2 size_flags_horizontal = 4 @@ -1569,7 +1655,7 @@ size_flags_vertical = 4 horizontal_scroll_mode = 0 vertical_scroll_mode = 3 -[node name="Label" type="Label" parent="logic/AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer"] +[node name="Label" type="Label" parent="logic/ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer"] layout_mode = 2 size_flags_horizontal = 3 text = "Oh, my old mask. I have so many good memories about theatre club. I would stand on my bed for entire afternoons, weeks on end, practicing my lines. Pretending to be on the big stage ... my mom would get mad at me, when she had to call me three or four times for dinner. I just … didn’t like the interruptions. We both were often mad at each other. @@ -1587,7 +1673,7 @@ visible_characters = 0 visible_characters_behavior = 1 visible_ratio = 0.0 -[node name="StartBottom" type="TextureRect" parent="logic/AudioPlayer/childhood/PanelContainer/VBoxContainer"] +[node name="StartBottom" type="TextureRect" parent="logic/ScenePlayer/childhood/PanelContainer/VBoxContainer"] custom_minimum_size = Vector2(0, 64) layout_mode = 2 size_flags_vertical = 8 @@ -1595,7 +1681,13 @@ texture = ExtResource("3_xqd4w") expand_mode = 2 stretch_mode = 4 -[node name="jui_jutsu" type="CenterContainer" parent="logic/AudioPlayer"] +[node name="VoiceTraining" type="AudioStreamPlayer" parent="logic/ScenePlayer"] +stream = ExtResource("10_wwwdq") +bus = &"music" + +[node name="Voice Training" type="CenterContainer" parent="logic/ScenePlayer"] +visible = false +modulate = Color(1, 1, 1, 0.923078) self_modulate = Color(1, 1, 1, 0.923078) anchors_preset = 15 anchor_right = 1.0 @@ -1604,11 +1696,11 @@ offset_right = -424.0 grow_horizontal = 2 grow_vertical = 2 -[node name="PanelContainer" type="PanelContainer" parent="logic/AudioPlayer/jui_jutsu"] +[node name="PanelContainer" type="PanelContainer" parent="logic/ScenePlayer/Voice Training"] layout_mode = 2 mouse_filter = 1 -[node name="StartFrame" type="TextureRect" parent="logic/AudioPlayer/jui_jutsu/PanelContainer"] +[node name="StartFrame" type="TextureRect" parent="logic/ScenePlayer/Voice Training/PanelContainer"] custom_minimum_size = Vector2(0, 900) layout_mode = 2 size_flags_vertical = 0 @@ -1616,7 +1708,7 @@ texture = ExtResource("2_21x33") expand_mode = 2 stretch_mode = 4 -[node name="Panel" type="PanelContainer" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/StartFrame"] +[node name="Panel" type="PanelContainer" parent="logic/ScenePlayer/Voice Training/PanelContainer/StartFrame"] show_behind_parent = true layout_mode = 2 offset_left = 199.0 @@ -1626,25 +1718,110 @@ offset_bottom = 697.0 rotation = 0.459022 mouse_filter = 1 -[node name="VBoxContainer" type="VBoxContainer" parent="logic/AudioPlayer/jui_jutsu/PanelContainer"] +[node name="VBoxContainer" type="VBoxContainer" parent="logic/ScenePlayer/Voice Training/PanelContainer"] layout_mode = 2 -[node name="Label" type="Label" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer"] +[node name="Label" type="Label" parent="logic/ScenePlayer/Voice Training/PanelContainer/VBoxContainer"] layout_mode = 2 theme_type_variation = &"HeaderLarge" -text = " Childhood" +text = "voice Training" -[node name="ScrollContainer" type="ScrollContainer" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer"] +[node name="ScrollContainer" type="ScrollContainer" parent="logic/ScenePlayer/Voice Training/PanelContainer/VBoxContainer"] custom_minimum_size = Vector2(800, 800) layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 4 -mouse_filter = 0 +mouse_filter = 2 +horizontal_scroll_mode = 0 +vertical_scroll_mode = 3 + +[node name="Label" type="Label" parent="logic/ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "My secret comic stash. I remember playing Que-Men with the boys. I had a voice for every character in that comic. But more often than not I played him: Agent Q. Going under the radar, putting in precise work to save the world. Not having to deal with being a girl. + +Boys were so much easier. They like cars, bikes, guns and agents. They don’t talk behind your back. They don’t think everything is about relationships. + +Girls don’t get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid … I mean, maybe they were right? Like I won’t deny I was probably the first girl in my class to see a dick. + +But like - that’s what the boys do, right? + +At least it has gotten better after me and Jojo became friends. + +I still remember how that happend. I did a voice acting workshop in art class. Being allowed to share my technique in front of everyone was just :D +I mean next to nobody put in any effort. But Jojo did. + +When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded. +After this, we suddenly were besties. And my class finally started to just leave me be. Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both. +" +autowrap_mode = 3 +visible_characters_behavior = 1 +visible_ratio = -0.000798722 + +[node name="StartBottom" type="TextureRect" parent="logic/ScenePlayer/Voice Training/PanelContainer/VBoxContainer"] +custom_minimum_size = Vector2(0, 64) +layout_mode = 2 +size_flags_vertical = 8 +texture = ExtResource("3_xqd4w") +expand_mode = 2 +stretch_mode = 4 + +[node name="Jui_Jutsu" type="AudioStreamPlayer" parent="logic/ScenePlayer"] +volume_db = -10.0 +bus = &"music" + +[node name="jui_jutsu" type="CenterContainer" parent="logic/ScenePlayer"] +visible = false +modulate = Color(1, 1, 1, 0) +self_modulate = Color(1, 1, 1, 0.923078) +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_right = -424.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="PanelContainer" type="PanelContainer" parent="logic/ScenePlayer/jui_jutsu"] +layout_mode = 2 +mouse_filter = 1 + +[node name="StartFrame" type="TextureRect" parent="logic/ScenePlayer/jui_jutsu/PanelContainer"] +custom_minimum_size = Vector2(0, 900) +layout_mode = 2 +size_flags_vertical = 0 +texture = ExtResource("2_21x33") +expand_mode = 2 +stretch_mode = 4 + +[node name="Panel" type="PanelContainer" parent="logic/ScenePlayer/jui_jutsu/PanelContainer/StartFrame"] +show_behind_parent = true +layout_mode = 2 +offset_left = 199.0 +offset_top = -112.0 +offset_right = 1039.0 +offset_bottom = 697.0 +rotation = 0.459022 +mouse_filter = 1 + +[node name="VBoxContainer" type="VBoxContainer" parent="logic/ScenePlayer/jui_jutsu/PanelContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="logic/ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer"] +layout_mode = 2 +theme_type_variation = &"HeaderLarge" +text = " Jiu Jutsu" + +[node name="ScrollContainer" type="ScrollContainer" parent="logic/ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer"] +custom_minimum_size = Vector2(800, 800) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +mouse_filter = 2 scroll_vertical = 638 horizontal_scroll_mode = 0 vertical_scroll_mode = 3 -[node name="Label" type="Label" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer"] +[node name="Label" type="Label" parent="logic/ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer"] layout_mode = 2 size_flags_horizontal = 3 text = "Why do i still have this junk lying around? It’s not like I want to do ju jutsu ever again. I just fucked it. @@ -1682,7 +1859,7 @@ visible_characters = 43 visible_characters_behavior = 1 visible_ratio = 0.0169225 -[node name="StartBottom" type="TextureRect" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer"] +[node name="StartBottom" type="TextureRect" parent="logic/ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer"] custom_minimum_size = Vector2(0, 64) layout_mode = 2 size_flags_vertical = 8 @@ -1690,26 +1867,25 @@ texture = ExtResource("3_xqd4w") expand_mode = 2 stretch_mode = 4 -[node name="card" type="Area2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer"] +[node name="card" type="Area2D" parent="logic/ScenePlayer/jui_jutsu/PanelContainer"] position = Vector2(1136, 457) scale = Vector2(1.2, 1.2) metadata/type = "card" -[node name="CollisionShape2D" type="CollisionShape2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/card"] +[node name="CollisionShape2D" type="CollisionShape2D" parent="logic/ScenePlayer/jui_jutsu/PanelContainer/card"] position = Vector2(-0.0713516, 0.997451) rotation = 1.5708 shape = SubResource("CapsuleShape2D_foovg") -[node name="BackgroundSprite" type="AnimatedSprite2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/card"] +[node name="BackgroundSprite" type="AnimatedSprite2D" parent="logic/ScenePlayer/jui_jutsu/PanelContainer/card" groups=["reduce_motion"]] clip_children = 2 scale = Vector2(0.6, 0.6) sprite_frames = SubResource("SpriteFrames_ckivt") frame = 1 -script = SubResource("GDScript_8bs16") -noise_speed = 0.0 -noise_power = 5.0 +script = SubResource("GDScript_252ei") +noise_power = 3.0 -[node name="GPUParticles2D" type="GPUParticles2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite"] +[node name="GPUParticles2D" type="GPUParticles2D" parent="logic/ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite"] emitting = false amount = 500 process_material = SubResource("ParticleProcessMaterial_by44l") @@ -1719,25 +1895,89 @@ speed_scale = 1.9 explosiveness = 0.29 randomness = 0.14 local_coords = true -script = SubResource("GDScript_vjwk7") -[node name="Sprite2D" type="Sprite2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite"] +[node name="Sprite2D" type="Sprite2D" parent="logic/ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite"] visible = false scale = Vector2(0.4, 0.4) texture = ExtResource("12_xnele") -script = SubResource("GDScript_tgc0b") -[node name="VoiceTraining" type="AudioStreamPlayer" parent="logic/AudioPlayer"] -stream = ExtResource("10_wwwdq") -bus = &"music" +[node name="Mask-interaction" type="Area3D" parent="logic" groups=["interactables"]] +transform = Transform3D(-0.863025, 0, 0.50516, 0, 1, 0, -0.50516, 0, -0.863025, 0.121309, 0.803665, 2.4765) +collision_layer = 16 +script = ExtResource("11_6fwv8") -[node name="VoiceTraining2" type="AudioStreamPlayer" parent="logic/AudioPlayer"] -stream = ExtResource("10_wwwdq") -bus = &"music" +[node name="collectable_particles" parent="logic/Mask-interaction" instance=ExtResource("12_qxx2k")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00898492, -0.14171, 0.152755) +visible = false -[node name="Jui_Jutsu" type="AudioStreamPlayer" parent="logic/AudioPlayer"] -volume_db = -10.0 -bus = &"music" +[node name="UiWrapper" type="Area3D" parent="logic/Mask-interaction"] +transform = Transform3D(0.1, -1.86265e-09, 0, 0, 0.0906676, 0.0421827, 0, -0.0421827, 0.0906676, -2.38419e-07, 0, 0.0718942) +visible = false +script = ExtResource("11_7uxd8") + +[node name="UI_click_collider" type="CollisionShape3D" parent="logic/Mask-interaction/UiWrapper"] +transform = Transform3D(2.56, -5.96046e-08, 4.76837e-07, 1.78814e-07, 2.56, -4.17233e-07, -2.38419e-07, -5.96046e-08, 2.56, 0, 1.90735e-06, 0.238397) +shape = SubResource("BoxShape3D_cb3g8") + +[node name="UiSprite" type="Sprite3D" parent="logic/Mask-interaction/UiWrapper"] +transform = Transform3D(1, 0, 2.4869e-14, 0, 1, 0, -2.4869e-14, 0, 1, 0, 0, 0.610758) +pixel_size = 0.015 +no_depth_test = true +texture = SubResource("ViewportTexture_7hana") + +[node name="SubViewport" type="SubViewport" parent="logic/Mask-interaction/UiWrapper/UiSprite"] +transparent_bg = true +size = Vector2i(300, 350) +render_target_update_mode = 4 + +[node name="Collectable_ui" parent="logic/Mask-interaction/UiWrapper/UiSprite/SubViewport" instance=ExtResource("11_jxai0")] +visible = false +scene = 0 +is_story = true +item_name = "Sport Clothes" +content_notes = "CN: testing testing 123" + +[node name="HoverDetect" type="CollisionShape3D" parent="logic/Mask-interaction"] +shape = SubResource("CapsuleShape3D_72g2i") + +[node name="clothes_interaction" type="Area3D" parent="logic" groups=["interactables"]] +transform = Transform3D(0.86043, 0, -0.509567, 0, 1, 0, 0.509567, 0, 0.86043, 1.47102, 1.17096, -0.629588) +collision_layer = 16 +script = ExtResource("11_6fwv8") + +[node name="collectable_particles" parent="logic/clothes_interaction" instance=ExtResource("12_qxx2k")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00898492, -0.14171, 0.152755) +visible = false + +[node name="UiWrapper" type="Area3D" parent="logic/clothes_interaction"] +transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0) +script = ExtResource("11_7uxd8") + +[node name="UI_click_collider" type="CollisionShape3D" parent="logic/clothes_interaction/UiWrapper"] +transform = Transform3D(2.56, -5.96046e-08, 4.76837e-07, 1.78814e-07, 2.56, -4.17233e-07, -2.38419e-07, -5.96046e-08, 2.56, 0, 1.90735e-06, 0.238397) +shape = SubResource("BoxShape3D_cb3g8") + +[node name="UiSprite" type="Sprite3D" parent="logic/clothes_interaction/UiWrapper"] +transform = Transform3D(1, 0, 2.4869e-14, 0, 1, 0, -2.4869e-14, 0, 1, 0, 0, 0.610758) +pixel_size = 0.015 +no_depth_test = true +texture = SubResource("ViewportTexture_7hana") + +[node name="SubViewport" type="SubViewport" parent="logic/clothes_interaction/UiWrapper/UiSprite"] +transparent_bg = true +size = Vector2i(300, 350) +render_target_update_mode = 1 + +[node name="Collectable_ui" parent="logic/clothes_interaction/UiWrapper/UiSprite/SubViewport" instance=ExtResource("11_jxai0")] +visible = false +scene = 2 +is_story = true +item_name = "my old Mask" +content_notes = "CN: testing testing 123" + +[node name="HoverDetect" type="CollisionShape3D" parent="logic/clothes_interaction"] +transform = Transform3D(1, 0, 2.98023e-08, 0, 1, 0, -2.98023e-08, 0, 1, 0, -0.237872, 0) +shape = SubResource("CapsuleShape3D_72g2i") [node name="sfx" type="Node3D" parent="."] @@ -1796,11 +2036,12 @@ light_size = 0.1 shadow_enabled = true omni_range = 2.17653 -[node name="light_animation" type="AnimationPlayer" parent="visuals/lights"] +[node name="light_animation" type="AnimationPlayer" parent="visuals/lights" groups=["animation_player"]] autoplay = "menu" libraries = { "": SubResource("AnimationLibrary_k8op5") } +script = SubResource("GDScript_5ot1o") [node name="lighting aids" type="Node3D" parent="visuals"] @@ -1894,48 +2135,11 @@ spot_angle_attenuation = 1.18921 [node name="youth_room" parent="visuals" instance=ExtResource("1_jf3oi")] -[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +[node name="WorldEnvironment" type="WorldEnvironment" parent="." groups=["animation_player"]] environment = SubResource("Environment_pllnm") camera_attributes = SubResource("CameraAttributesPractical_26mp0") script = SubResource("GDScript_wb8kg") -[node name="Mask-interaction" type="Area3D" parent="." groups=["interactables"]] -transform = Transform3D(-0.863025, 0, 0.50516, 0, 1, 0, -0.50516, 0, -0.863025, 0.121309, 0.803665, 2.4765) -collision_layer = 16 -script = ExtResource("11_6fwv8") - -[node name="collectable_particles" parent="Mask-interaction" instance=ExtResource("12_qxx2k")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00898492, -0.14171, 0.152755) -visible = false - -[node name="UiWrapper" type="Area3D" parent="Mask-interaction"] -transform = Transform3D(0.1, -1.86265e-09, 0, 0, 0.0906676, 0.0421827, 0, -0.0421827, 0.0906676, -2.38419e-07, 0, 0.0718942) -script = ExtResource("11_7uxd8") - -[node name="UI_click_collider" type="CollisionShape3D" parent="Mask-interaction/UiWrapper"] -transform = Transform3D(2.56, -5.96046e-08, 4.76837e-07, 1.78814e-07, 2.56, -4.17233e-07, -2.38419e-07, -5.96046e-08, 2.56, 0, 1.90735e-06, 0.238397) -shape = SubResource("BoxShape3D_cb3g8") - -[node name="UiSprite" type="Sprite3D" parent="Mask-interaction/UiWrapper"] -transform = Transform3D(1, 0, 2.4869e-14, 0, 1, 0, -2.4869e-14, 0, 1, 0, 0, 0.610758) -pixel_size = 0.015 -no_depth_test = true -texture = SubResource("ViewportTexture_7hana") - -[node name="SubViewport" type="SubViewport" parent="Mask-interaction/UiWrapper/UiSprite"] -transparent_bg = true -size = Vector2i(300, 350) -render_target_update_mode = 4 - -[node name="Collectable_ui" parent="Mask-interaction/UiWrapper/UiSprite/SubViewport" instance=ExtResource("11_jxai0")] -visible = false -is_story = true -item_name = "my old Mask" -content_notes = "CN: testing testing 123" - -[node name="HoverDetect" type="CollisionShape3D" parent="Mask-interaction"] -shape = SubResource("CapsuleShape3D_72g2i") - [node name="SceneUI" type="Control" parent="."] visible = false layout_mode = 3 @@ -1975,7 +2179,9 @@ light_specular = 0.0 omni_range = 0.457129 omni_attenuation = 0.659754 -[connection signal="startup" from="." to="logic/AudioPlayer" method="_on_youth_room_startup"] +[connection signal="ini_room" from="." to="logic/PlayerController" method="_on_ini_room"] +[connection signal="ini_room" from="." to="logic/ScenePlayer" method="_on_ini_room"] +[connection signal="ini_room" from="." to="visuals/lights/light_animation" method="_on_ini_room"] [connection signal="ui_entered" from="logic/PlayerController" to="SceneUI" method="show"] [connection signal="ui_exited" from="logic/PlayerController" to="SceneUI" method="hide"] [connection signal="body_entered" from="logic/Bed and Ladders/ladder_trigger" to="logic/PlayerController" method="_on_bed_enter"] @@ -1985,12 +2191,8 @@ omni_attenuation = 0.659754 [connection signal="body_entered" from="logic/Bed and Ladders/bed_enter" to="logic/PlayerController" method="_on_bed_enter"] [connection signal="body_exited" from="logic/Bed and Ladders/bed_reset" to="logic/PlayerController" method="_on_bed_exit"] [connection signal="body_exited" from="logic/Bed and Ladders/reset_failover" to="logic/PlayerController" method="_on_bed_exit"] -[connection signal="animation_finished" from="logic/AudioPlayer" to="logic/PlayerController" method="_on_childhood_done"] -[connection signal="input_event" from="logic/AudioPlayer/jui_jutsu/PanelContainer/card" to="logic/AudioPlayer/jui_jutsu/PanelContainer/card" method="_on_input_event" flags=18] -[connection signal="mouse_entered" from="logic/AudioPlayer/jui_jutsu/PanelContainer/card" to="logic/AudioPlayer/jui_jutsu/PanelContainer/card" method="_on_mouse_entered" flags=18] -[connection signal="mouse_exited" from="logic/AudioPlayer/jui_jutsu/PanelContainer/card" to="logic/AudioPlayer/jui_jutsu/PanelContainer/card" method="_on_mouse_exited" flags=18] -[connection signal="input_event" from="Mask-interaction/UiWrapper" to="Mask-interaction/UiWrapper" method="_on_input_event" flags=18] -[connection signal="card_collected" from="Mask-interaction/UiWrapper/UiSprite/SubViewport/Collectable_ui" to="." method="_on_childhood_collected"] -[connection signal="card_collected" from="Mask-interaction/UiWrapper/UiSprite/SubViewport/Collectable_ui" to="logic/PlayerController" method="_on_childhood_collected"] -[connection signal="card_collected" from="Mask-interaction/UiWrapper/UiSprite/SubViewport/Collectable_ui" to="logic/AudioPlayer" method="_on_childhood_collected"] -[connection signal="card_collected" from="Mask-interaction/UiWrapper/UiSprite/SubViewport/Collectable_ui" to="WorldEnvironment" method="focus_object"] +[connection signal="input_event" from="logic/ScenePlayer/jui_jutsu/PanelContainer/card" to="logic/ScenePlayer/jui_jutsu/PanelContainer/card" method="_on_input_event" flags=18] +[connection signal="mouse_entered" from="logic/ScenePlayer/jui_jutsu/PanelContainer/card" to="logic/ScenePlayer/jui_jutsu/PanelContainer/card" method="_on_mouse_entered" flags=18] +[connection signal="mouse_exited" from="logic/ScenePlayer/jui_jutsu/PanelContainer/card" to="logic/ScenePlayer/jui_jutsu/PanelContainer/card" method="_on_mouse_exited" flags=18] +[connection signal="input_event" from="logic/Mask-interaction/UiWrapper" to="logic/Mask-interaction/UiWrapper" method="_on_input_event" flags=18] +[connection signal="input_event" from="logic/clothes_interaction/UiWrapper" to="logic/clothes_interaction/UiWrapper" method="_on_input_event" flags=18] diff --git a/src/dev-util/click-trough-area.gd b/src/dev-util/click-trough-area.gd index a86ee9d..579b009 100644 --- a/src/dev-util/click-trough-area.gd +++ b/src/dev-util/click-trough-area.gd @@ -14,11 +14,6 @@ func _process(_delta): look_at(look, Vector3.UP) func _unhandled_input(event): - if event is InputEventMouse: - if event is InputEventMouseButton: - if event.button_index == MOUSE_BUTTON_RIGHT: - assert(false) - return viewport.push_input(event) func _on_input_event(_camera: Camera3D, event: InputEvent, pos: Vector3, _normal: Vector3, _shape_idx: int): diff --git a/src/logic-scenes/card_picker/card_picker.tscn b/src/logic-scenes/card_picker/card_picker.tscn index 1aa837a..b8c5459 100644 --- a/src/logic-scenes/card_picker/card_picker.tscn +++ b/src/logic-scenes/card_picker/card_picker.tscn @@ -1491,7 +1491,6 @@ libraries = { [node name="card" parent="cards/card_1" instance=ExtResource("2_dqebt")] text = "Slot 1" -metadata/type = "card" [node name="card_2" type="Control" parent="cards"] layout_mode = 2 @@ -1504,7 +1503,6 @@ libraries = { [node name="card" parent="cards/card_2" instance=ExtResource("2_dqebt")] text = "Slot 2" -metadata/type = "card" [node name="card_3" type="Control" parent="cards"] layout_mode = 2 @@ -1522,7 +1520,6 @@ libraries = { [node name="card" parent="cards/card_3" instance=ExtResource("2_dqebt")] text = "Slot 3" -metadata/type = "card" [node name="postIts" type="Panel" parent="."] layout_mode = 2 diff --git a/src/logic-scenes/collectable/collectable_ui.gd b/src/logic-scenes/collectable/collectable_ui.gd index 4e605cf..96a4677 100644 --- a/src/logic-scenes/collectable/collectable_ui.gd +++ b/src/logic-scenes/collectable/collectable_ui.gd @@ -2,6 +2,8 @@ extends CenterContainer class_name Collectable_Ui +@export var scene = Scenes.id + @export var collapsed = true: set(collapse): if is_inside_tree() and not Engine.is_editor_hint(): @@ -17,6 +19,8 @@ class_name Collectable_Ui _show_buttons() collapsed = collapse + if collapse and has_stage: State.leave_stage(self) + @export var is_story: bool = false @export var has_stage: bool = false: set(focused): @@ -36,9 +40,6 @@ class_name Collectable_Ui elif has_stage: has_stage = false get_viewport().gui_release_focus() - #hide() - - @export var collected: bool = false: set(set_collected): @@ -100,22 +101,26 @@ func hide(): _hide_buttons() await tween.finished visible = false + if has_stage: State.leave_stage(self) func show(): - if not collapsed: - _show_buttons() - modulate = Color() - visible = true - var tween = create_tween() - tween.tween_property(self, "modulate", Color(1, 1, 1), 0.4) + if !visible: + if not collapsed: + _show_buttons() + modulate = Color() + visible = true + var tween = create_tween() + tween.tween_property(self, "modulate", Color(1, 1, 1), 0.4) func _yoink_focus(): - return # fixme if not has_stage: - State.take_stage(self, true) + State.transition_stage_to(self) func _on_pick_button_pressed(): - hide() print("card collected!") - emit_signal("card_collected") + if scene != null: + get_tree().call_group("animation_player", "play_scene", scene) State.leave_stage(self) + +func _on_pick_button_released(): + hide() diff --git a/src/logic-scenes/collectable/collectable_ui.tscn b/src/logic-scenes/collectable/collectable_ui.tscn index c2217bf..2893e86 100644 --- a/src/logic-scenes/collectable/collectable_ui.tscn +++ b/src/logic-scenes/collectable/collectable_ui.tscn @@ -99,6 +99,7 @@ grow_horizontal = 2 grow_vertical = 2 theme = ExtResource("1_2apkb") script = ExtResource("1_tgjc2") +scene = null [node name="Panel" type="PanelContainer" parent="."] layout_mode = 2 @@ -170,6 +171,7 @@ libraries = { } [connection signal="resized" from="Panel/Content/Buttons/VBoxContainer" to="Panel/Content/Buttons" method="_on_v_box_container_resized"] +[connection signal="button_up" from="Panel/Content/Buttons/VBoxContainer/collect_or_listen" to="." method="_on_pick_button_released"] [connection signal="focus_entered" from="Panel/Content/Buttons/VBoxContainer/collect_or_listen" to="." method="_yoink_focus"] [connection signal="pressed" from="Panel/Content/Buttons/VBoxContainer/collect_or_listen" to="." method="_on_pick_button_pressed"] [connection signal="focus_entered" from="Panel/Content/Buttons/VBoxContainer/Summary" to="." method="_yoink_focus"] diff --git a/src/logic-scenes/player_controller/player_controller.gd b/src/logic-scenes/player_controller/player_controller.gd index e04d169..e10bcc8 100644 --- a/src/logic-scenes/player_controller/player_controller.gd +++ b/src/logic-scenes/player_controller/player_controller.gd @@ -65,6 +65,9 @@ signal ui_exited func _ready(): _handle_jitter(0) +func _on_ini_room(): + State.take_stage(self) + func _process(_delta): if focus_ray.get_collider() != null: @@ -148,15 +151,17 @@ func _input(event:InputEvent): if event is InputEventMouseMotion and Input.mouse_mode == Input.MOUSE_MODE_CAPTURED: _handle_mouse_input(event) get_viewport().set_input_as_handled() - if event is InputEventMouseButton and has_entered: + if event is InputEventMouseButton and event.pressed: State.free_focus() - get_viewport().set_input_as_handled() + get_tree().call_group("interactables", "reveal") #if event.is_action_pressed("ui_accept"): # State.pass_stage_to(focus_ray.get_collider()) # get_viewport().set_input_as_handled() - -func _on_empty_click(): - State.take_stage(self, true) + else: + if event is InputEventMouseButton: + if event.button_index == MOUSE_BUTTON_RIGHT and event.pressed: + if !Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT): + State.take_stage(self, true) func _on_bed_enter(_body): if not (crouched or on_crouch_cooldown): @@ -175,5 +180,3 @@ func _on_bed_exit(_body): on_crouch_cooldown = true await get_tree().create_timer(1.0).timeout on_crouch_cooldown = false - - diff --git a/src/project.godot b/src/project.godot index 7009d56..458fd43 100644 --- a/src/project.godot +++ b/src/project.godot @@ -19,6 +19,7 @@ config/icon="res://icon.png" [autoload] State="*res://singletons/global_state.gd" +Scenes="*res://singletons/scene_reference.gd" [debug]