tiger-cleanup #1
|
|
@ -33,15 +33,16 @@ func _ready():
|
||||||
mouse_entered.connect(_on_mouse_entered)
|
mouse_entered.connect(_on_mouse_entered)
|
||||||
|
|
||||||
# Wire up the CollectableUi with the CanvasLayer for story playback
|
# Wire up the CollectableUi with the CanvasLayer for story playback
|
||||||
var canvas = get_node_or_null("%CanvasLayer")
|
if ui:
|
||||||
if canvas and ui:
|
ui.canvas_layer = %CanvasLayer
|
||||||
ui.canvas_layer = canvas
|
|
||||||
# Find and wire the StoryPlayable if not already set
|
# Find and wire the StoryPlayable if not already set
|
||||||
if ui.story_playable == null:
|
if ui.story_playable == null:
|
||||||
for child in canvas.get_children():
|
for child in %CanvasLayer.get_children():
|
||||||
if child is StoryPlayable:
|
if child is StoryPlayable:
|
||||||
ui.story_playable = child
|
ui.story_playable = child
|
||||||
break
|
break
|
||||||
|
# Connect playback_finished to restore player control
|
||||||
|
ui.playback_finished.connect(_on_playback_finished)
|
||||||
|
|
||||||
func _on_mouse_entered():
|
func _on_mouse_entered():
|
||||||
if not Scenes.is_playing:
|
if not Scenes.is_playing:
|
||||||
|
|
@ -69,5 +70,14 @@ func collapse():
|
||||||
_on_mouse_exited()
|
_on_mouse_exited()
|
||||||
revealed = false
|
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):
|
func handle(event: InputEvent):
|
||||||
viewport.push_input(event)
|
viewport.push_input(event)
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ class_name YouthRoom
|
||||||
extends RoomTemplate
|
extends RoomTemplate
|
||||||
|
|
||||||
## Used by the stage system when this room takes stage for intro playback
|
## 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 board_trigger: InteractiveSprite = %MindBoard
|
||||||
@onready var door_trigger: InteractiveSprite = %Door
|
@onready var door_trigger: InteractiveSprite = %Door
|
||||||
|
|
@ -96,3 +96,9 @@ func play_chest_reveal() -> void:
|
||||||
|
|
||||||
func unload():
|
func unload():
|
||||||
$visuals.queue_free()
|
$visuals.queue_free()
|
||||||
|
|
||||||
|
|
||||||
|
func play_chest_animation(_id):
|
||||||
|
$AnimationPlayer.play("intro")
|
||||||
|
await $AnimationPlayer.animation_finished
|
||||||
|
Scenes.continue_sequence(self)
|
||||||
|
|
|
||||||
|
|
@ -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="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"]
|
[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
|
script/source = "extends CenterContainer
|
||||||
|
|
||||||
var has_stage
|
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"]
|
[sub_resource type="Animation" id="Animation_ks23q"]
|
||||||
|
|
@ -264,192 +256,144 @@ tracks/2/keys = {
|
||||||
tracks/3/type = "value"
|
tracks/3/type = "value"
|
||||||
tracks/3/imported = false
|
tracks/3/imported = false
|
||||||
tracks/3/enabled = true
|
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/interp = 1
|
||||||
tracks/3/loop_wrap = true
|
tracks/3/loop_wrap = true
|
||||||
tracks/3/keys = {
|
tracks/3/keys = {
|
||||||
"times": PackedFloat32Array(0),
|
"times": PackedFloat32Array(0),
|
||||||
"transitions": PackedFloat32Array(1),
|
"transitions": PackedFloat32Array(1),
|
||||||
"update": 0,
|
"update": 0,
|
||||||
"values": [Color(1, 1, 1, 1)]
|
"values": [0.0]
|
||||||
}
|
}
|
||||||
tracks/4/type = "value"
|
tracks/4/type = "value"
|
||||||
tracks/4/imported = false
|
tracks/4/imported = false
|
||||||
tracks/4/enabled = true
|
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/interp = 1
|
||||||
tracks/4/loop_wrap = true
|
tracks/4/loop_wrap = true
|
||||||
tracks/4/keys = {
|
tracks/4/keys = {
|
||||||
"times": PackedFloat32Array(0),
|
"times": PackedFloat32Array(0),
|
||||||
"transitions": PackedFloat32Array(1),
|
"transitions": PackedFloat32Array(1),
|
||||||
"update": 1,
|
"update": 0,
|
||||||
"values": [false]
|
"values": [0.2]
|
||||||
}
|
}
|
||||||
tracks/5/type = "value"
|
tracks/5/type = "value"
|
||||||
tracks/5/imported = false
|
tracks/5/imported = false
|
||||||
tracks/5/enabled = true
|
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/interp = 1
|
||||||
tracks/5/loop_wrap = true
|
tracks/5/loop_wrap = true
|
||||||
tracks/5/keys = {
|
tracks/5/keys = {
|
||||||
"times": PackedFloat32Array(0),
|
"times": PackedFloat32Array(0),
|
||||||
"transitions": PackedFloat32Array(1),
|
"transitions": PackedFloat32Array(1),
|
||||||
"update": 0,
|
"update": 0,
|
||||||
"values": [0.0]
|
"values": [true]
|
||||||
}
|
}
|
||||||
tracks/6/type = "value"
|
tracks/6/type = "value"
|
||||||
tracks/6/imported = false
|
tracks/6/imported = false
|
||||||
tracks/6/enabled = true
|
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/interp = 1
|
||||||
tracks/6/loop_wrap = true
|
tracks/6/loop_wrap = true
|
||||||
tracks/6/keys = {
|
tracks/6/keys = {
|
||||||
"times": PackedFloat32Array(0),
|
"times": PackedFloat32Array(0),
|
||||||
"transitions": PackedFloat32Array(1),
|
"transitions": PackedFloat32Array(1),
|
||||||
"update": 0,
|
"update": 0,
|
||||||
"values": [0.2]
|
"values": [2.0]
|
||||||
}
|
}
|
||||||
tracks/7/type = "value"
|
tracks/7/type = "value"
|
||||||
tracks/7/imported = false
|
tracks/7/imported = false
|
||||||
tracks/7/enabled = true
|
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/interp = 1
|
||||||
tracks/7/loop_wrap = true
|
tracks/7/loop_wrap = true
|
||||||
tracks/7/keys = {
|
tracks/7/keys = {
|
||||||
"times": PackedFloat32Array(0),
|
"times": PackedFloat32Array(0),
|
||||||
"transitions": PackedFloat32Array(1),
|
"transitions": PackedFloat32Array(1),
|
||||||
"update": 0,
|
"update": 0,
|
||||||
"values": [true]
|
"values": [false]
|
||||||
}
|
}
|
||||||
tracks/8/type = "value"
|
tracks/8/type = "value"
|
||||||
tracks/8/imported = false
|
tracks/8/imported = false
|
||||||
tracks/8/enabled = true
|
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/interp = 1
|
||||||
tracks/8/loop_wrap = true
|
tracks/8/loop_wrap = true
|
||||||
tracks/8/keys = {
|
tracks/8/keys = {
|
||||||
"times": PackedFloat32Array(0),
|
"times": PackedFloat32Array(0),
|
||||||
"transitions": PackedFloat32Array(1),
|
"transitions": PackedFloat32Array(1),
|
||||||
"update": 0,
|
"update": 0,
|
||||||
"values": [2.0]
|
"values": [Vector3(0, 0.2877, 0)]
|
||||||
}
|
}
|
||||||
tracks/9/type = "value"
|
tracks/9/type = "value"
|
||||||
tracks/9/imported = false
|
tracks/9/imported = false
|
||||||
tracks/9/enabled = true
|
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/interp = 1
|
||||||
tracks/9/loop_wrap = true
|
tracks/9/loop_wrap = true
|
||||||
tracks/9/keys = {
|
tracks/9/keys = {
|
||||||
"times": PackedFloat32Array(0),
|
"times": PackedFloat32Array(0),
|
||||||
"transitions": PackedFloat32Array(1),
|
"transitions": PackedFloat32Array(1),
|
||||||
"update": 0,
|
"update": 0,
|
||||||
"values": [false]
|
"values": [Vector3(-10.1552, 14.9384, -16.2182)]
|
||||||
}
|
}
|
||||||
tracks/10/type = "value"
|
tracks/10/type = "value"
|
||||||
tracks/10/imported = false
|
tracks/10/imported = false
|
||||||
tracks/10/enabled = true
|
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/interp = 1
|
||||||
tracks/10/loop_wrap = true
|
tracks/10/loop_wrap = true
|
||||||
tracks/10/keys = {
|
tracks/10/keys = {
|
||||||
"times": PackedFloat32Array(0),
|
"times": PackedFloat32Array(0),
|
||||||
"transitions": PackedFloat32Array(1),
|
"transitions": PackedFloat32Array(1),
|
||||||
"update": 0,
|
"update": 0,
|
||||||
"values": [Vector3(0, 0.2877, 0)]
|
"values": [-0.3]
|
||||||
}
|
}
|
||||||
tracks/11/type = "value"
|
tracks/11/type = "value"
|
||||||
tracks/11/imported = false
|
tracks/11/imported = false
|
||||||
tracks/11/enabled = true
|
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/interp = 1
|
||||||
tracks/11/loop_wrap = true
|
tracks/11/loop_wrap = true
|
||||||
tracks/11/keys = {
|
tracks/11/keys = {
|
||||||
"times": PackedFloat32Array(0),
|
"times": PackedFloat32Array(0),
|
||||||
"transitions": PackedFloat32Array(1),
|
"transitions": PackedFloat32Array(1),
|
||||||
"update": 0,
|
"update": 0,
|
||||||
"values": [Vector3(-10.1552, 14.9384, -16.2182)]
|
"values": [-1.0]
|
||||||
}
|
}
|
||||||
tracks/12/type = "value"
|
tracks/12/type = "value"
|
||||||
tracks/12/imported = false
|
tracks/12/imported = false
|
||||||
tracks/12/enabled = true
|
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/interp = 1
|
||||||
tracks/12/loop_wrap = true
|
tracks/12/loop_wrap = true
|
||||||
tracks/12/keys = {
|
tracks/12/keys = {
|
||||||
"times": PackedFloat32Array(0),
|
"times": PackedFloat32Array(0),
|
||||||
"transitions": PackedFloat32Array(1),
|
"transitions": PackedFloat32Array(1),
|
||||||
"update": 0,
|
"update": 0,
|
||||||
"values": [-0.3]
|
"values": [0.0]
|
||||||
}
|
}
|
||||||
tracks/13/type = "value"
|
tracks/13/type = "value"
|
||||||
tracks/13/imported = false
|
tracks/13/imported = false
|
||||||
tracks/13/enabled = true
|
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/interp = 1
|
||||||
tracks/13/loop_wrap = true
|
tracks/13/loop_wrap = true
|
||||||
tracks/13/keys = {
|
tracks/13/keys = {
|
||||||
"times": PackedFloat32Array(0),
|
"times": PackedFloat32Array(0),
|
||||||
"transitions": PackedFloat32Array(1),
|
"transitions": PackedFloat32Array(1),
|
||||||
"update": 0,
|
"update": 0,
|
||||||
"values": [-1.0]
|
"values": [0.0]
|
||||||
}
|
}
|
||||||
tracks/14/type = "value"
|
tracks/14/type = "value"
|
||||||
tracks/14/imported = false
|
tracks/14/imported = false
|
||||||
tracks/14/enabled = true
|
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/interp = 1
|
||||||
tracks/14/loop_wrap = true
|
tracks/14/loop_wrap = true
|
||||||
tracks/14/keys = {
|
tracks/14/keys = {
|
||||||
"times": PackedFloat32Array(0),
|
"times": PackedFloat32Array(0),
|
||||||
"transitions": PackedFloat32Array(1),
|
"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,
|
"update": 1,
|
||||||
"values": [false]
|
"values": [false]
|
||||||
}
|
}
|
||||||
|
|
@ -935,6 +879,9 @@ render_priority = 0
|
||||||
shader = ExtResource("25_dqyng")
|
shader = ExtResource("25_dqyng")
|
||||||
shader_parameter/default_texture = SubResource("ViewportTexture_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"]
|
[sub_resource type="ViewportTexture" id="ViewportTexture_e5y1q"]
|
||||||
viewport_path = NodePath("logic/MaskMemento/UiWrapper/UiSprite/SubViewport")
|
viewport_path = NodePath("logic/MaskMemento/UiWrapper/UiSprite/SubViewport")
|
||||||
|
|
||||||
|
|
@ -944,6 +891,9 @@ render_priority = 0
|
||||||
shader = ExtResource("25_dqyng")
|
shader = ExtResource("25_dqyng")
|
||||||
shader_parameter/default_texture = SubResource("ViewportTexture_e5y1q")
|
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"]
|
[sub_resource type="ViewportTexture" id="ViewportTexture_ks23q"]
|
||||||
viewport_path = NodePath("logic/MaskMemento/UiWrapper/UiSprite/SubViewport")
|
viewport_path = NodePath("logic/MaskMemento/UiWrapper/UiSprite/SubViewport")
|
||||||
|
|
||||||
|
|
@ -953,6 +903,9 @@ render_priority = 0
|
||||||
shader = ExtResource("25_dqyng")
|
shader = ExtResource("25_dqyng")
|
||||||
shader_parameter/default_texture = SubResource("ViewportTexture_ks23q")
|
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"]
|
[sub_resource type="ViewportTexture" id="ViewportTexture_5bsh1"]
|
||||||
viewport_path = NodePath("logic/MaskMemento/UiWrapper/UiSprite/SubViewport")
|
viewport_path = NodePath("logic/MaskMemento/UiWrapper/UiSprite/SubViewport")
|
||||||
|
|
||||||
|
|
@ -962,6 +915,9 @@ render_priority = 0
|
||||||
shader = ExtResource("25_dqyng")
|
shader = ExtResource("25_dqyng")
|
||||||
shader_parameter/default_texture = SubResource("ViewportTexture_5bsh1")
|
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"]
|
[sub_resource type="ViewportTexture" id="ViewportTexture_ypa88"]
|
||||||
viewport_path = NodePath("logic/MaskMemento/UiWrapper/UiSprite/SubViewport")
|
viewport_path = NodePath("logic/MaskMemento/UiWrapper/UiSprite/SubViewport")
|
||||||
|
|
||||||
|
|
@ -971,6 +927,21 @@ render_priority = 0
|
||||||
shader = ExtResource("25_dqyng")
|
shader = ExtResource("25_dqyng")
|
||||||
shader_parameter/default_texture = SubResource("ViewportTexture_ypa88")
|
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"]
|
[sub_resource type="Animation" id="Animation_xum02"]
|
||||||
length = 0.001
|
length = 0.001
|
||||||
tracks/0/type = "value"
|
tracks/0/type = "value"
|
||||||
|
|
@ -1911,26 +1882,14 @@ stream = ExtResource("9_i8mqk")
|
||||||
volume_db = -80.0
|
volume_db = -80.0
|
||||||
bus = &"music"
|
bus = &"music"
|
||||||
|
|
||||||
[node name="childhood" parent="logic/ScenePlayer" instance=ExtResource("12_viwxf")]
|
|
||||||
|
|
||||||
[node name="VoiceTraining" type="AudioStreamPlayer" parent="logic/ScenePlayer"]
|
[node name="VoiceTraining" type="AudioStreamPlayer" parent="logic/ScenePlayer"]
|
||||||
stream = ExtResource("10_wwwdq")
|
stream = ExtResource("10_wwwdq")
|
||||||
volume_db = -80.0
|
volume_db = -80.0
|
||||||
bus = &"music"
|
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"]
|
[node name="Jui_Jutsu" type="AudioStreamPlayer" parent="logic/ScenePlayer"]
|
||||||
bus = &"music"
|
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"]
|
[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)
|
transform = Transform3D(0.999, 0, 0, 0, 0.999, 0, 0, 0, 0.999, 0, 0, 0)
|
||||||
layers = 2
|
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"]
|
[node name="UiSprite" parent="logic/MaskMemento/UiWrapper" index="1"]
|
||||||
material_override = SubResource("ShaderMaterial_xbjb2")
|
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")]
|
[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"]
|
[node name="UiSprite" parent="logic/ClothesMemento/UiWrapper" index="1"]
|
||||||
material_override = SubResource("ShaderMaterial_5bsh1")
|
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")]
|
[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"]
|
[node name="UiSprite" parent="logic/ComicMemento/UiWrapper" index="1"]
|
||||||
material_override = SubResource("ShaderMaterial_e5y1q")
|
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")]
|
[node name="voice_training" parent="logic/ComicMemento/CanvasLayer" index="0" instance=ExtResource("13_v3447")]
|
||||||
story_array = []
|
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"]
|
[node name="UiSprite" parent="logic/CeilingMemento/UiWrapper" index="1"]
|
||||||
material_override = SubResource("ShaderMaterial_ypa88")
|
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")]
|
[node name="draven" parent="logic/CeilingMemento/CanvasLayer" index="0" instance=ExtResource("19_d3c7p")]
|
||||||
story_array = []
|
story_array = []
|
||||||
paragraph_lengths = [1]
|
paragraph_lengths = [1]
|
||||||
|
|
||||||
[node name="MindBoard" parent="logic" instance=ExtResource("30_ypa88")]
|
[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)
|
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"]
|
[node name="UiSprite" parent="logic/MindBoard/UiWrapper" index="1"]
|
||||||
material_override = SubResource("ShaderMaterial_mhuct")
|
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="board" parent="logic/MindBoard/CanvasLayer" index="0" instance=ExtResource("4_gyjxx")]
|
||||||
|
|
||||||
[node name="Door" parent="logic" instance=ExtResource("30_ypa88")]
|
[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)
|
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="."]
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
libraries = {
|
libraries = {
|
||||||
&"": SubResource("AnimationLibrary_vwrt1")
|
&"": 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="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_button" method="hide"]
|
||||||
[connection signal="pressed" from="logic/UI/ending_button" to="logic/UI/ending" method="show"]
|
[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/MaskMemento"]
|
||||||
[editable path="logic/ClothesMemento"]
|
[editable path="logic/ClothesMemento"]
|
||||||
[editable path="logic/ComicMemento"]
|
[editable path="logic/ComicMemento"]
|
||||||
[editable path="logic/CeilingMemento"]
|
[editable path="logic/CeilingMemento"]
|
||||||
[editable path="logic/MindBoard"]
|
[editable path="logic/MindBoard"]
|
||||||
|
[editable path="logic/Door"]
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,9 @@ func disable()-> void:
|
||||||
set_process_input(false)
|
set_process_input(false)
|
||||||
set_process(false)
|
set_process(false)
|
||||||
|
|
||||||
|
func get_ready():
|
||||||
|
pass
|
||||||
|
|
||||||
func load():
|
func load():
|
||||||
# Override this function to load the state of the chapter from State.save_game
|
# Override this function to load the state of the chapter from State.save_game
|
||||||
pass
|
pass
|
||||||
|
|
@ -32,9 +35,6 @@ func play() -> String:
|
||||||
return await proceed
|
return await proceed
|
||||||
|
|
||||||
|
|
||||||
func get_ready():
|
|
||||||
pass
|
|
||||||
|
|
||||||
func start_room():
|
func start_room():
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ var has_stage = false:
|
||||||
@onready var ancors: Array[Control] = [%Ancor1, %Ancor2, %Ancor3, %Ancor4]
|
@onready var ancors: Array[Control] = [%Ancor1, %Ancor2, %Ancor3, %Ancor4]
|
||||||
|
|
||||||
func _ready():
|
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)
|
%SkipButton.pressed.connect(card_burned.emit)
|
||||||
|
|
||||||
func burn_cards(_id: int, _repeat: bool = false) -> void:
|
func burn_cards(_id: int, _repeat: bool = false) -> void:
|
||||||
|
|
|
||||||
|
|
@ -144,6 +144,7 @@ var canvas_layer: CanvasLayer
|
||||||
|
|
||||||
signal open_board
|
signal open_board
|
||||||
signal exit_room
|
signal exit_room
|
||||||
|
signal playback_finished
|
||||||
|
|
||||||
#TODO implement proper scene skipping
|
#TODO implement proper scene skipping
|
||||||
signal scene_skipped(i: int)
|
signal scene_skipped(i: int)
|
||||||
|
|
@ -240,6 +241,7 @@ func collect_memento() -> void:
|
||||||
if was_skipped:
|
if was_skipped:
|
||||||
scene_skipped.emit(-1)
|
scene_skipped.emit(-1)
|
||||||
is_collected = true
|
is_collected = true
|
||||||
|
playback_finished.emit()
|
||||||
return
|
return
|
||||||
|
|
||||||
# Signal that a scene is starting (for music, etc.)
|
# Signal that a scene is starting (for music, etc.)
|
||||||
|
|
@ -260,8 +262,8 @@ func collect_memento() -> void:
|
||||||
if canvas_layer:
|
if canvas_layer:
|
||||||
canvas_layer.hide()
|
canvas_layer.hide()
|
||||||
|
|
||||||
# Restore mouse
|
# Restore mouse to captured mode (player controller will be given back control)
|
||||||
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
|
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||||
|
|
||||||
# Signal that the scene is finished
|
# Signal that the scene is finished
|
||||||
Scenes.end_sequence(scene)
|
Scenes.end_sequence(scene)
|
||||||
|
|
@ -269,3 +271,6 @@ func collect_memento() -> void:
|
||||||
if was_skipped:
|
if was_skipped:
|
||||||
scene_skipped.emit(-1)
|
scene_skipped.emit(-1)
|
||||||
is_collected = true
|
is_collected = true
|
||||||
|
|
||||||
|
# Signal that playback is finished so the InteractiveSprite can restore player control
|
||||||
|
playback_finished.emit()
|
||||||
|
|
|
||||||
|
|
@ -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="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="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="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="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"]
|
[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="BoxShape3D" id="BoxShape3D_v8gd7"]
|
||||||
|
|
||||||
[sub_resource type="ViewportTexture" id="ViewportTexture_ghmim"]
|
[sub_resource type="ViewportTexture" id="ViewportTexture_bc0j1"]
|
||||||
viewport_path = NodePath("logic/MaskMemento/UiWrapper/UiSprite/SubViewport")
|
viewport_path = NodePath("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="CapsuleShape3D" id="CapsuleShape3D_v8gd7"]
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_v8gd7"]
|
||||||
height = 1.5
|
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")
|
shape = SubResource("BoxShape3D_v8gd7")
|
||||||
|
|
||||||
[node name="UiSprite" type="Sprite3D" parent="UiWrapper"]
|
[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)
|
gi_mode = 0
|
||||||
material_override = SubResource("ShaderMaterial_dqyng")
|
modulate = Color(0.9999996, 0.96863645, 0.88173, 1)
|
||||||
modulate = Color(0.52473676, 0.353479, 0.20148611, 1)
|
|
||||||
pixel_size = 0.015
|
pixel_size = 0.015
|
||||||
shaded = true
|
|
||||||
no_depth_test = true
|
no_depth_test = true
|
||||||
texture = SubResource("ViewportTexture_ghmim")
|
texture = SubResource("ViewportTexture_bc0j1")
|
||||||
|
|
||||||
[node name="SubViewport" type="SubViewport" parent="UiWrapper/UiSprite"]
|
[node name="SubViewport" type="SubViewport" parent="UiWrapper/UiSprite"]
|
||||||
transparent_bg = true
|
transparent_bg = true
|
||||||
size = Vector2i(400, 350)
|
size = Vector2i(400, 350)
|
||||||
render_target_update_mode = 4
|
|
||||||
|
|
||||||
[node name="CollectableUi" parent="UiWrapper/UiSprite/SubViewport" instance=ExtResource("5_kqyl2")]
|
[node name="CollectableUi" parent="UiWrapper/UiSprite/SubViewport" instance=ExtResource("5_kqyl2")]
|
||||||
|
|
||||||
[node name="Frame" type="Sprite3D" parent="UiWrapper"]
|
[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 = 0.6
|
||||||
visibility_range_end_margin = 0.3
|
visibility_range_end_margin = 0.3
|
||||||
visibility_range_fade_mode = 1
|
visibility_range_fade_mode = 1
|
||||||
|
|
|
||||||
|
|
@ -91,6 +91,7 @@ func _load_room(next_path: String) -> bool:
|
||||||
ResourceLoader.THREAD_LOAD_LOADED:
|
ResourceLoader.THREAD_LOAD_LOADED:
|
||||||
var next_scene := ResourceLoader.load_threaded_get(youth_room_path) as PackedScene
|
var next_scene := ResourceLoader.load_threaded_get(youth_room_path) as PackedScene
|
||||||
State.room = next_scene.instantiate() as RoomTemplate
|
State.room = next_scene.instantiate() as RoomTemplate
|
||||||
|
await get_tree().process_frame
|
||||||
get_tree().root.add_child(State.room)
|
get_tree().root.add_child(State.room)
|
||||||
await State.room.get_ready()
|
await State.room.get_ready()
|
||||||
%Loading.stop()
|
%Loading.stop()
|
||||||
|
|
@ -115,5 +116,3 @@ func _unhandled_input(event: InputEvent) -> void:
|
||||||
AppState.PAUSE:
|
AppState.PAUSE:
|
||||||
if event.is_action_pressed("ui_menu"):
|
if event.is_action_pressed("ui_menu"):
|
||||||
app_state = AppState.PLAY
|
app_state = AppState.PLAY
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue