diff --git a/src/base-environments/youth_room/interactive_sprite.gd b/src/base-environments/youth_room/interactive_sprite.gd index 0d22825..db2eede 100644 --- a/src/base-environments/youth_room/interactive_sprite.gd +++ b/src/base-environments/youth_room/interactive_sprite.gd @@ -33,15 +33,16 @@ func _ready(): mouse_entered.connect(_on_mouse_entered) # Wire up the CollectableUi with the CanvasLayer for story playback - var canvas = get_node_or_null("%CanvasLayer") - if canvas and ui: - ui.canvas_layer = canvas + if ui: + ui.canvas_layer = %CanvasLayer # Find and wire the StoryPlayable if not already set if ui.story_playable == null: - for child in canvas.get_children(): + for child in %CanvasLayer.get_children(): if child is StoryPlayable: ui.story_playable = child break + # Connect playback_finished to restore player control + ui.playback_finished.connect(_on_playback_finished) func _on_mouse_entered(): if not Scenes.is_playing: @@ -69,5 +70,14 @@ func collapse(): _on_mouse_exited() revealed = false +func _on_playback_finished(): + # Restore player controller control using the room's unique node reference + var player_controller = owner.get_node_or_null("%PlayerController") + if player_controller and "has_stage" in player_controller: + player_controller.has_stage = true + else: + # Fallback: ensure mouse is visible if we can't find player controller + Input.mouse_mode = Input.MOUSE_MODE_VISIBLE + func handle(event: InputEvent): viewport.push_input(event) diff --git a/src/base-environments/youth_room/youth_room.gd b/src/base-environments/youth_room/youth_room.gd index a95a306..cd629ce 100644 --- a/src/base-environments/youth_room/youth_room.gd +++ b/src/base-environments/youth_room/youth_room.gd @@ -2,7 +2,7 @@ class_name YouthRoom extends RoomTemplate ## Used by the stage system when this room takes stage for intro playback -var has_stage: bool = false +# var has_stage: bool = false # Reminder, do not uncomment, this field is inherited from RoomTemplate! @onready var board_trigger: InteractiveSprite = %MindBoard @onready var door_trigger: InteractiveSprite = %Door @@ -96,3 +96,9 @@ func play_chest_reveal() -> void: func unload(): $visuals.queue_free() + + +func play_chest_animation(_id): + $AnimationPlayer.play("intro") + await $AnimationPlayer.animation_finished + Scenes.continue_sequence(self) diff --git a/src/base-environments/youth_room/youth_room.tscn b/src/base-environments/youth_room/youth_room.tscn index 27e91d3..09578dc 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=128 format=4 uid="uid://b3b0gyvklqn50"] +[gd_scene load_steps=136 format=4 uid="uid://b3b0gyvklqn50"] [ext_resource type="Script" uid="uid://bsop46tqngddc" path="res://base-environments/youth_room/youth_room.gd" id="1_aitp0"] [ext_resource type="AudioStream" uid="uid://1h6k2d8q1kw3" path="res://base-environments/youth_room/import/sounds/rain_on_window.mp3" id="2_3haaq"] @@ -161,14 +161,6 @@ func show(): script/source = "extends CenterContainer var has_stage - -func _ready() -> void: - Scenes.sign_up_for_sequence(play_chest_animation, Scenes.id.YOUTH_DRAEVEN, 0) - -func play_chest_animation(_id): - $AnimationPlayer.play(\"intro\") - await $AnimationPlayer.animation_finished - Scenes.continue_sequence(self) " [sub_resource type="Animation" id="Animation_ks23q"] @@ -264,192 +256,144 @@ tracks/2/keys = { tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("ScenePlayer/childhood/PanelContainer:self_modulate") +tracks/3/path = NodePath("ScenePlayer/OmniLight3D:light_energy") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Color(1, 1, 1, 1)] +"values": [0.0] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true -tracks/4/path = NodePath("ScenePlayer/childhood:visible") +tracks/4/path = NodePath("ScenePlayer/starlight_mesh/starlight_ambient:light_energy") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] +"update": 0, +"values": [0.2] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true -tracks/5/path = NodePath("ScenePlayer/OmniLight3D:light_energy") +tracks/5/path = NodePath("ScenePlayer/starlight_mesh:visible") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [0.0] +"values": [true] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true -tracks/6/path = NodePath("ScenePlayer/starlight_mesh/starlight_ambient:light_energy") +tracks/6/path = NodePath("ScenePlayer/starlight_mesh/starlight_lamp_dynamic:light_energy") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [0.2] +"values": [2.0] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true -tracks/7/path = NodePath("ScenePlayer/starlight_mesh:visible") +tracks/7/path = NodePath("ScenePlayer/Luna_frame-of-mind:visible") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [true] +"values": [false] } tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true -tracks/8/path = NodePath("ScenePlayer/starlight_mesh/starlight_lamp_dynamic:light_energy") +tracks/8/path = NodePath("ScenePlayer/Luna_frame-of-mind:rotation") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [2.0] +"values": [Vector3(0, 0.2877, 0)] } tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true -tracks/9/path = NodePath("ScenePlayer/Luna_frame-of-mind:visible") +tracks/9/path = NodePath("ScenePlayer/Luna_frame-of-mind:position") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [false] +"values": [Vector3(-10.1552, 14.9384, -16.2182)] } tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true -tracks/10/path = NodePath("ScenePlayer/Luna_frame-of-mind:rotation") +tracks/10/path = NodePath("ScenePlayer/material_handle:material:shader_parameter/alpha_scissor_threshold") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector3(0, 0.2877, 0)] +"values": [-0.3] } tracks/11/type = "value" tracks/11/imported = false tracks/11/enabled = true -tracks/11/path = NodePath("ScenePlayer/Luna_frame-of-mind:position") +tracks/11/path = NodePath("ScenePlayer/material_handle:material:shader_parameter/alpha_offset") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector3(-10.1552, 14.9384, -16.2182)] +"values": [-1.0] } tracks/12/type = "value" tracks/12/imported = false tracks/12/enabled = true -tracks/12/path = NodePath("ScenePlayer/material_handle:material:shader_parameter/alpha_scissor_threshold") +tracks/12/path = NodePath("ScenePlayer/Jui_Jutsu:volume_db") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [-0.3] +"values": [0.0] } tracks/13/type = "value" tracks/13/imported = false tracks/13/enabled = true -tracks/13/path = NodePath("ScenePlayer/material_handle:material:shader_parameter/alpha_offset") +tracks/13/path = NodePath("%ScenePlayer/Moving:volume_db") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [-1.0] +"values": [0.0] } tracks/14/type = "value" tracks/14/imported = false tracks/14/enabled = true -tracks/14/path = NodePath("ScenePlayer/Jui_Jutsu:volume_db") +tracks/14/path = NodePath("%ScenePlayer/OmniLight3D:visible") tracks/14/interp = 1 tracks/14/loop_wrap = true tracks/14/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/15/type = "value" -tracks/15/imported = false -tracks/15/enabled = true -tracks/15/path = NodePath("%ScenePlayer/JuiJutsu:visible") -tracks/15/interp = 1 -tracks/15/loop_wrap = true -tracks/15/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} -tracks/16/type = "value" -tracks/16/imported = false -tracks/16/enabled = true -tracks/16/path = NodePath("%ScenePlayer/childhood:visible") -tracks/16/interp = 1 -tracks/16/loop_wrap = true -tracks/16/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} -tracks/17/type = "value" -tracks/17/imported = false -tracks/17/enabled = true -tracks/17/path = NodePath("%ScenePlayer/Moving:volume_db") -tracks/17/interp = 1 -tracks/17/loop_wrap = true -tracks/17/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/18/type = "value" -tracks/18/imported = false -tracks/18/enabled = true -tracks/18/path = NodePath("%ScenePlayer/OmniLight3D:visible") -tracks/18/interp = 1 -tracks/18/loop_wrap = true -tracks/18/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), "update": 1, "values": [false] } @@ -935,6 +879,9 @@ render_priority = 0 shader = ExtResource("25_dqyng") shader_parameter/default_texture = SubResource("ViewportTexture_dqyng") +[sub_resource type="ViewportTexture" id="ViewportTexture_mhuct"] +viewport_path = NodePath("UiWrapper/UiSprite/SubViewport") + [sub_resource type="ViewportTexture" id="ViewportTexture_e5y1q"] viewport_path = NodePath("logic/MaskMemento/UiWrapper/UiSprite/SubViewport") @@ -944,6 +891,9 @@ render_priority = 0 shader = ExtResource("25_dqyng") shader_parameter/default_texture = SubResource("ViewportTexture_e5y1q") +[sub_resource type="ViewportTexture" id="ViewportTexture_wc1hp"] +viewport_path = NodePath("UiWrapper/UiSprite/SubViewport") + [sub_resource type="ViewportTexture" id="ViewportTexture_ks23q"] viewport_path = NodePath("logic/MaskMemento/UiWrapper/UiSprite/SubViewport") @@ -953,6 +903,9 @@ render_priority = 0 shader = ExtResource("25_dqyng") shader_parameter/default_texture = SubResource("ViewportTexture_ks23q") +[sub_resource type="ViewportTexture" id="ViewportTexture_murax"] +viewport_path = NodePath("UiWrapper/UiSprite/SubViewport") + [sub_resource type="ViewportTexture" id="ViewportTexture_5bsh1"] viewport_path = NodePath("logic/MaskMemento/UiWrapper/UiSprite/SubViewport") @@ -962,6 +915,9 @@ render_priority = 0 shader = ExtResource("25_dqyng") shader_parameter/default_texture = SubResource("ViewportTexture_5bsh1") +[sub_resource type="ViewportTexture" id="ViewportTexture_culng"] +viewport_path = NodePath("UiWrapper/UiSprite/SubViewport") + [sub_resource type="ViewportTexture" id="ViewportTexture_ypa88"] viewport_path = NodePath("logic/MaskMemento/UiWrapper/UiSprite/SubViewport") @@ -971,6 +927,21 @@ render_priority = 0 shader = ExtResource("25_dqyng") shader_parameter/default_texture = SubResource("ViewportTexture_ypa88") +[sub_resource type="ViewportTexture" id="ViewportTexture_5ovnq"] +viewport_path = NodePath("UiWrapper/UiSprite/SubViewport") + +[sub_resource type="ViewportTexture" id="ViewportTexture_xbjb2"] +viewport_path = NodePath("UiWrapper/UiSprite/SubViewport") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_wc1hp"] +resource_local_to_scene = true +render_priority = 0 +shader = ExtResource("25_dqyng") +shader_parameter/default_texture = SubResource("ViewportTexture_xbjb2") + +[sub_resource type="ViewportTexture" id="ViewportTexture_qkj5t"] +viewport_path = NodePath("UiWrapper/UiSprite/SubViewport") + [sub_resource type="Animation" id="Animation_xum02"] length = 0.001 tracks/0/type = "value" @@ -1620,7 +1591,7 @@ func show(): visible = true var vis_tween = create_tween() vis_tween.tween_property(self, \"modulate\", Color(1, 1, 1, 1), 0.1) - + func hide(): var vis_tween = create_tween() vis_tween.tween_property(self, \"modulate\", Color(1, 1, 1, 0), 0.1) @@ -1911,26 +1882,14 @@ stream = ExtResource("9_i8mqk") volume_db = -80.0 bus = &"music" -[node name="childhood" parent="logic/ScenePlayer" instance=ExtResource("12_viwxf")] - [node name="VoiceTraining" type="AudioStreamPlayer" parent="logic/ScenePlayer"] stream = ExtResource("10_wwwdq") volume_db = -80.0 bus = &"music" -[node name="JuiJutsu" parent="logic/ScenePlayer" instance=ExtResource("12_x3dlb")] - -[node name="voice_training" parent="logic/ScenePlayer" instance=ExtResource("13_v3447")] -story_array = [] -paragraph_lengths = [1] - [node name="Jui_Jutsu" type="AudioStreamPlayer" parent="logic/ScenePlayer"] bus = &"music" -[node name="draven" parent="logic/ScenePlayer" instance=ExtResource("19_d3c7p")] -story_array = [] -paragraph_lengths = [1] - [node name="starlight_mesh" type="MeshInstance3D" parent="logic/ScenePlayer"] transform = Transform3D(0.999, 0, 0, 0, 0.999, 0, 0, 0, 0.999, 0, 0, 0) layers = 2 @@ -2010,7 +1969,7 @@ transform = Transform3D(-0.8630245, 0, 0.5051597, 0, 1, 0, -0.5051597, 0, -0.863 [node name="UiSprite" parent="logic/MaskMemento/UiWrapper" index="1"] material_override = SubResource("ShaderMaterial_xbjb2") -texture = SubResource("ViewportTexture_dqyng") +texture = SubResource("ViewportTexture_mhuct") [node name="childhood" parent="logic/MaskMemento/CanvasLayer" index="0" instance=ExtResource("12_viwxf")] @@ -2019,7 +1978,7 @@ transform = Transform3D(0.8604294, 0, -0.5095667, 0, 1, 0, 0.5095667, 0, 0.86042 [node name="UiSprite" parent="logic/ClothesMemento/UiWrapper" index="1"] material_override = SubResource("ShaderMaterial_5bsh1") -texture = SubResource("ViewportTexture_e5y1q") +texture = SubResource("ViewportTexture_wc1hp") [node name="JuiJutsu" parent="logic/ClothesMemento/CanvasLayer" index="0" instance=ExtResource("12_x3dlb")] @@ -2028,7 +1987,7 @@ transform = Transform3D(0.9699434, 0, 0.24332686, 0, 1, 0, -0.24332686, 0, 0.969 [node name="UiSprite" parent="logic/ComicMemento/UiWrapper" index="1"] material_override = SubResource("ShaderMaterial_e5y1q") -texture = SubResource("ViewportTexture_ks23q") +texture = SubResource("ViewportTexture_murax") [node name="voice_training" parent="logic/ComicMemento/CanvasLayer" index="0" instance=ExtResource("13_v3447")] story_array = [] @@ -2039,24 +1998,30 @@ transform = Transform3D(0.71489924, 0, 0.6992255, 0, 1, 0, -0.6992255, 0, 0.7148 [node name="UiSprite" parent="logic/CeilingMemento/UiWrapper" index="1"] material_override = SubResource("ShaderMaterial_ypa88") -texture = SubResource("ViewportTexture_5bsh1") +texture = SubResource("ViewportTexture_culng") [node name="draven" parent="logic/CeilingMemento/CanvasLayer" index="0" instance=ExtResource("19_d3c7p")] story_array = [] paragraph_lengths = [1] [node name="MindBoard" parent="logic" instance=ExtResource("30_ypa88")] +unique_name_in_owner = true transform = Transform3D(-4.3711374e-08, 0, 0.9999984, 0, 1, 0, -0.9999984, 0, -4.3711374e-08, -0.907206, 1.17661, 1.74337) [node name="UiSprite" parent="logic/MindBoard/UiWrapper" index="1"] material_override = SubResource("ShaderMaterial_mhuct") -texture = SubResource("ViewportTexture_ypa88") +texture = SubResource("ViewportTexture_5ovnq") [node name="board" parent="logic/MindBoard/CanvasLayer" index="0" instance=ExtResource("4_gyjxx")] [node name="Door" parent="logic" instance=ExtResource("30_ypa88")] +unique_name_in_owner = true transform = Transform3D(0.9999984, 0, 4.973797e-14, 0, 1, 0, -4.973797e-14, 0, 0.9999984, 0.115203, 1.3931, -0.954428) +[node name="UiSprite" parent="logic/Door/UiWrapper" index="1"] +material_override = SubResource("ShaderMaterial_wc1hp") +texture = SubResource("ViewportTexture_qkj5t") + [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { &"": SubResource("AnimationLibrary_vwrt1") @@ -2315,10 +2280,10 @@ data = ExtResource("40_ea6x8") [connection signal="body_exited" from="logic/Bed and Ladders/reset_failover" to="logic/PlayerController" method="_on_bed_exit"] [connection signal="pressed" from="logic/UI/ending_button" to="logic/UI/ending_button" method="hide"] [connection signal="pressed" from="logic/UI/ending_button" to="logic/UI/ending" method="show"] -[connection signal="emit_thunder" from="logic/ScenePlayer/JuiJutsu" to="AnimationPlayer" method="play" binds= ["lighting_and_thunder"]] [editable path="logic/MaskMemento"] [editable path="logic/ClothesMemento"] [editable path="logic/ComicMemento"] [editable path="logic/CeilingMemento"] [editable path="logic/MindBoard"] +[editable path="logic/Door"] diff --git a/src/dev-util/room_template.gd b/src/dev-util/room_template.gd index 16a3693..9bd6819 100644 --- a/src/dev-util/room_template.gd +++ b/src/dev-util/room_template.gd @@ -23,6 +23,9 @@ func disable()-> void: set_process_input(false) set_process(false) +func get_ready(): + pass + func load(): # Override this function to load the state of the chapter from State.save_game pass @@ -32,9 +35,6 @@ func play() -> String: return await proceed -func get_ready(): - pass - func start_room(): pass diff --git a/src/logic-scenes/card_burner/card_burner.gd b/src/logic-scenes/card_burner/card_burner.gd index d961f3b..865e5bc 100644 --- a/src/logic-scenes/card_burner/card_burner.gd +++ b/src/logic-scenes/card_burner/card_burner.gd @@ -21,7 +21,7 @@ var has_stage = false: @onready var ancors: Array[Control] = [%Ancor1, %Ancor2, %Ancor3, %Ancor4] func _ready(): - Scenes.register_scene_actor(Scenes.id.TRANSITION, burn_cards) + # Note: burn_cards is now called directly by the transition system, not via register_scene_actor %SkipButton.pressed.connect(card_burned.emit) func burn_cards(_id: int, _repeat: bool = false) -> void: diff --git a/src/logic-scenes/collectable/collectable_ui.gd b/src/logic-scenes/collectable/collectable_ui.gd index 54ee609..7f77290 100644 --- a/src/logic-scenes/collectable/collectable_ui.gd +++ b/src/logic-scenes/collectable/collectable_ui.gd @@ -144,6 +144,7 @@ var canvas_layer: CanvasLayer signal open_board signal exit_room +signal playback_finished #TODO implement proper scene skipping signal scene_skipped(i: int) @@ -240,6 +241,7 @@ func collect_memento() -> void: if was_skipped: scene_skipped.emit(-1) is_collected = true + playback_finished.emit() return # Signal that a scene is starting (for music, etc.) @@ -260,8 +262,8 @@ func collect_memento() -> void: if canvas_layer: canvas_layer.hide() - # Restore mouse - Input.mouse_mode = Input.MOUSE_MODE_VISIBLE + # Restore mouse to captured mode (player controller will be given back control) + Input.mouse_mode = Input.MOUSE_MODE_CAPTURED # Signal that the scene is finished Scenes.end_sequence(scene) @@ -269,3 +271,6 @@ func collect_memento() -> void: if was_skipped: scene_skipped.emit(-1) is_collected = true + + # Signal that playback is finished so the InteractiveSprite can restore player control + playback_finished.emit() diff --git a/src/logic-scenes/interactive_sprite/interactive_sprite.tscn b/src/logic-scenes/interactive_sprite/interactive_sprite.tscn index 9721068..7146f48 100644 --- a/src/logic-scenes/interactive_sprite/interactive_sprite.tscn +++ b/src/logic-scenes/interactive_sprite/interactive_sprite.tscn @@ -1,22 +1,15 @@ -[gd_scene load_steps=11 format=3 uid="uid://cy4yesucptcr3"] +[gd_scene load_steps=9 format=3 uid="uid://cy4yesucptcr3"] [ext_resource type="Script" uid="uid://dr4wd80dobxjd" path="res://base-environments/youth_room/interactive_sprite.gd" id="1_v8gd7"] [ext_resource type="PackedScene" uid="uid://bdnesuqroi7ss" path="res://vfx/collectable_particles.tscn" id="2_lqlgh"] [ext_resource type="Script" uid="uid://dbdw3v7mbqscf" path="res://dev-util/click-trough-area.gd" id="3_1fk5i"] -[ext_resource type="Shader" uid="uid://ci37nlh06b5y2" path="res://logic-scenes/collectable/collectable.gdshader" id="4_64lfl"] [ext_resource type="PackedScene" uid="uid://wfyna16xhlo0" path="res://logic-scenes/collectable/collectable_ui.tscn" id="5_kqyl2"] [ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="6_13pus"] [sub_resource type="BoxShape3D" id="BoxShape3D_v8gd7"] -[sub_resource type="ViewportTexture" id="ViewportTexture_ghmim"] -viewport_path = NodePath("logic/MaskMemento/UiWrapper/UiSprite/SubViewport") - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_dqyng"] -resource_local_to_scene = true -render_priority = 0 -shader = ExtResource("4_64lfl") -shader_parameter/default_texture = SubResource("ViewportTexture_ghmim") +[sub_resource type="ViewportTexture" id="ViewportTexture_bc0j1"] +viewport_path = NodePath("UiWrapper/UiSprite/SubViewport") [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_v8gd7"] height = 1.5 @@ -38,23 +31,20 @@ transform = Transform3D(1, -6.984922e-08, -1.908213e-15, 6.984922e-08, 1, 2.3283 shape = SubResource("BoxShape3D_v8gd7") [node name="UiSprite" type="Sprite3D" parent="UiWrapper"] -transform = Transform3D(1, 0, -5.96046e-08, 0, 1, 0, 5.96046e-08, 0, 1, 0, 0, 0) -material_override = SubResource("ShaderMaterial_dqyng") -modulate = Color(0.52473676, 0.353479, 0.20148611, 1) +gi_mode = 0 +modulate = Color(0.9999996, 0.96863645, 0.88173, 1) pixel_size = 0.015 -shaded = true no_depth_test = true -texture = SubResource("ViewportTexture_ghmim") +texture = SubResource("ViewportTexture_bc0j1") [node name="SubViewport" type="SubViewport" parent="UiWrapper/UiSprite"] transparent_bg = true size = Vector2i(400, 350) -render_target_update_mode = 4 [node name="CollectableUi" parent="UiWrapper/UiSprite/SubViewport" instance=ExtResource("5_kqyl2")] [node name="Frame" type="Sprite3D" parent="UiWrapper"] -transform = Transform3D(0.70457095, 0, -1.19208984e-07, 0, 0.704571, 0, 1.19208984e-07, 0, 0.70457095, 0, 0, 0) +transform = Transform3D(0.7045709, 0, -1.1920898e-07, 0, 0.704571, 0, 1.1920898e-07, 0, 0.7045709, 0, -1, 0) visibility_range_end = 0.6 visibility_range_end_margin = 0.3 visibility_range_fade_mode = 1 diff --git a/src/singletons/main/main.gd b/src/singletons/main/main.gd index 8d4b796..31abb4c 100644 --- a/src/singletons/main/main.gd +++ b/src/singletons/main/main.gd @@ -91,6 +91,7 @@ func _load_room(next_path: String) -> bool: ResourceLoader.THREAD_LOAD_LOADED: var next_scene := ResourceLoader.load_threaded_get(youth_room_path) as PackedScene State.room = next_scene.instantiate() as RoomTemplate + await get_tree().process_frame get_tree().root.add_child(State.room) await State.room.get_ready() %Loading.stop() @@ -115,5 +116,3 @@ func _unhandled_input(event: InputEvent) -> void: AppState.PAUSE: if event.is_action_pressed("ui_menu"): app_state = AppState.PLAY - -