refactor: moving various embedded scripts to their own .gd
This commit is contained in:
parent
c272f12014
commit
8db1c0fab7
|
|
@ -7,7 +7,7 @@
|
||||||
[ext_resource type="PackedScene" uid="uid://bdnesuqroi7ss" path="res://vfx/collectable_particles.tscn" id="3_4s5r2"]
|
[ext_resource type="PackedScene" uid="uid://bdnesuqroi7ss" path="res://vfx/collectable_particles.tscn" id="3_4s5r2"]
|
||||||
[ext_resource type="Script" uid="uid://c281w7earok6w" path="res://base-environments/youth_room/crouch_volume.gd" id="3_fli74"]
|
[ext_resource type="Script" uid="uid://c281w7earok6w" path="res://base-environments/youth_room/crouch_volume.gd" id="3_fli74"]
|
||||||
[ext_resource type="Script" uid="uid://dbdw3v7mbqscf" path="res://dev-util/click-trough-area.gd" id="4_1xpeq"]
|
[ext_resource type="Script" uid="uid://dbdw3v7mbqscf" path="res://dev-util/click-trough-area.gd" id="4_1xpeq"]
|
||||||
[ext_resource type="PackedScene" uid="uid://wfyna16xhlo0" path="res://logic-scenes/collectable/new_collectable_ui.tscn" id="5_ln5pp"]
|
[ext_resource type="PackedScene" uid="uid://wfyna16xhlo0" path="res://logic-scenes/collectable/collectable_ui.tscn" id="5_ln5pp"]
|
||||||
[ext_resource type="Shader" uid="uid://ci37nlh06b5y2" path="res://logic-scenes/collectable/collectable.gdshader" id="7_80jyn"]
|
[ext_resource type="Shader" uid="uid://ci37nlh06b5y2" path="res://logic-scenes/collectable/collectable.gdshader" id="7_80jyn"]
|
||||||
[ext_resource type="VoxelGIData" uid="uid://dw2u8n6l38xjm" path="res://base-environments/volunteer_room/volunteer_room.VoxelGI_data.res" id="8_fli74"]
|
[ext_resource type="VoxelGIData" uid="uid://dw2u8n6l38xjm" path="res://base-environments/volunteer_room/volunteer_room.VoxelGI_data.res" id="8_fli74"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dsnil1roc3x37" path="res://base-environments/volunteer_room/scenes/autism.tscn" id="10_gcdra"]
|
[ext_resource type="PackedScene" uid="uid://dsnil1roc3x37" path="res://base-environments/volunteer_room/scenes/autism.tscn" id="10_gcdra"]
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
|
||||||
|
extends Node3D
|
||||||
|
|
||||||
|
@export var light_array: Array[Vector3]:
|
||||||
|
set(points):
|
||||||
|
light_array = points
|
||||||
|
if is_inside_tree():
|
||||||
|
rebuild()
|
||||||
|
|
||||||
|
@onready var wires:LineRenderer3D = $wires
|
||||||
|
@onready var diodes:MultiMeshInstance3D = $diodes
|
||||||
|
@export var rng_seed:int = 42
|
||||||
|
var rng = RandomNumberGenerator.new()
|
||||||
|
@export var size:float = 0.1:
|
||||||
|
set(new_size):
|
||||||
|
size = new_size
|
||||||
|
rebuild()
|
||||||
|
if is_inside_tree():
|
||||||
|
wires.end_thickness = size*0.1
|
||||||
|
wires.start_thickness = size*0.1
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
rebuild()
|
||||||
|
|
||||||
|
func rebuild():
|
||||||
|
rng.seed = rng_seed
|
||||||
|
rng.state = 0
|
||||||
|
for child in wires.get_children(): child.free()
|
||||||
|
wires.points = light_array
|
||||||
|
diodes.multimesh.instance_count = light_array.size()
|
||||||
|
var meshBuffer:PackedFloat32Array
|
||||||
|
for point in light_array:
|
||||||
|
var base:Basis = Basis(Vector3(rng.randf_range(-1, 1), rng.randf_range(-1, 1), rng.randf_range(-1, 1)).normalized(), rng.randf_range(0, PI*2))
|
||||||
|
base = base.scaled(Vector3(size, size, size))
|
||||||
|
meshBuffer.append_array([base.x.x, base.x.y, base.x.z, point.x, base.y.x, base.y.y, base.y.z, point.y, base.z.x, base.z.y, base.z.z, point.z])
|
||||||
|
diodes.multimesh.buffer = meshBuffer
|
||||||
|
|
@ -7,6 +7,7 @@ extends RoomTemplate
|
||||||
@onready var card_picker: CardPicker = %Picker
|
@onready var card_picker: CardPicker = %Picker
|
||||||
@onready var ui: Control = %UI
|
@onready var ui: Control = %UI
|
||||||
|
|
||||||
|
signal interaction(interactable: Object)
|
||||||
|
|
||||||
func start_room():
|
func start_room():
|
||||||
%UI.show()
|
%UI.show()
|
||||||
|
|
@ -18,6 +19,14 @@ func start_room():
|
||||||
State.pass_stage_to(%PlayerController)
|
State.pass_stage_to(%PlayerController)
|
||||||
%LightAnimation.lights_on()
|
%LightAnimation.lights_on()
|
||||||
|
|
||||||
|
while true: # playing?
|
||||||
|
var interactable = await interaction
|
||||||
|
if interactable is StoryPlayable:
|
||||||
|
await interactable.play()
|
||||||
|
# check gamestate to quit?
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func get_ready():
|
func get_ready():
|
||||||
pull_save_state(State.save_game)
|
pull_save_state(State.save_game)
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
[ext_resource type="AudioStream" uid="uid://bghjiqkyehs1p" path="res://base-environments/youth_room/import/sounds/rain and thunder.mp3" id="22_xrkbj"]
|
[ext_resource type="AudioStream" uid="uid://bghjiqkyehs1p" path="res://base-environments/youth_room/import/sounds/rain and thunder.mp3" id="22_xrkbj"]
|
||||||
[ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="24_ghmim"]
|
[ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="24_ghmim"]
|
||||||
[ext_resource type="Shader" uid="uid://ci37nlh06b5y2" path="res://logic-scenes/collectable/collectable.gdshader" id="25_dqyng"]
|
[ext_resource type="Shader" uid="uid://ci37nlh06b5y2" path="res://logic-scenes/collectable/collectable.gdshader" id="25_dqyng"]
|
||||||
[ext_resource type="PackedScene" uid="uid://wfyna16xhlo0" path="res://logic-scenes/collectable/new_collectable_ui.tscn" id="25_ghmim"]
|
[ext_resource type="PackedScene" uid="uid://wfyna16xhlo0" path="res://logic-scenes/collectable/collectable_ui.tscn" id="25_ghmim"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bpjympn3ps3wo" path="res://logic-scenes/luna/luna_imported.tscn" id="27_pb1jl"]
|
[ext_resource type="PackedScene" uid="uid://bpjympn3ps3wo" path="res://logic-scenes/luna/luna_imported.tscn" id="27_pb1jl"]
|
||||||
[ext_resource type="Material" uid="uid://ct7uc5i5yp5qf" path="res://base-environments/youth_room/import/materials/wall.tres" id="28_oiweb"]
|
[ext_resource type="Material" uid="uid://ct7uc5i5yp5qf" path="res://base-environments/youth_room/import/materials/wall.tres" id="28_oiweb"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bw47g00bi710i" path="res://base-environments/youth_room/youth_room_visuals.tscn" id="30_dqyng"]
|
[ext_resource type="PackedScene" uid="uid://bw47g00bi710i" path="res://base-environments/youth_room/youth_room_visuals.tscn" id="30_dqyng"]
|
||||||
|
|
@ -43,6 +43,7 @@
|
||||||
[ext_resource type="Texture2D" uid="uid://dabnlcnuticww" path="res://base-environments/intro/textures/sky_textures_2.png" id="33_mvrs2"]
|
[ext_resource type="Texture2D" uid="uid://dabnlcnuticww" path="res://base-environments/intro/textures/sky_textures_2.png" id="33_mvrs2"]
|
||||||
[ext_resource type="Shader" uid="uid://dspme86ky8yj0" path="res://base-environments/youth_room/rainy-window.gdshader" id="35_ea6x8"]
|
[ext_resource type="Shader" uid="uid://dspme86ky8yj0" path="res://base-environments/youth_room/rainy-window.gdshader" id="35_ea6x8"]
|
||||||
[ext_resource type="Texture2D" uid="uid://ds1n0xhxqlp4b" path="res://base-environments/youth_room/shaders/universe_noise.png" id="36_bgk6f"]
|
[ext_resource type="Texture2D" uid="uid://ds1n0xhxqlp4b" path="res://base-environments/youth_room/shaders/universe_noise.png" id="36_bgk6f"]
|
||||||
|
[ext_resource type="Script" uid="uid://c5eiqpr1q41xk" path="res://base-environments/youth_room/youth_room_environment.gd" id="38_ypa88"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cg70r0102t8nl" path="res://base-environments/youth_room/fairylights.tscn" id="39_q6rov"]
|
[ext_resource type="PackedScene" uid="uid://cg70r0102t8nl" path="res://base-environments/youth_room/fairylights.tscn" id="39_q6rov"]
|
||||||
[ext_resource type="VoxelGIData" uid="uid://hvk1wkuw4maq" path="res://base-environments/youth_room/youth_room.VoxelGI_data.res" id="40_ea6x8"]
|
[ext_resource type="VoxelGIData" uid="uid://hvk1wkuw4maq" path="res://base-environments/youth_room/youth_room.VoxelGI_data.res" id="40_ea6x8"]
|
||||||
[ext_resource type="LightmapGIData" uid="uid://b67q6lda2xet1" path="res://base-environments/youth_room/youth_room.lmbake" id="41_bgk6f"]
|
[ext_resource type="LightmapGIData" uid="uid://b67q6lda2xet1" path="res://base-environments/youth_room/youth_room.lmbake" id="41_bgk6f"]
|
||||||
|
|
@ -1564,39 +1565,6 @@ metadata/_custom_type_script = "uid://br1w2nt4pj8lt"
|
||||||
[sub_resource type="Compositor" id="Compositor_bgk6f"]
|
[sub_resource type="Compositor" id="Compositor_bgk6f"]
|
||||||
compositor_effects = Array[CompositorEffect]([SubResource("CompositorEffect_ea6x8")])
|
compositor_effects = Array[CompositorEffect]([SubResource("CompositorEffect_ea6x8")])
|
||||||
|
|
||||||
[sub_resource type="GDScript" id="GDScript_wb8kg"]
|
|
||||||
script/source = "extends WorldEnvironment
|
|
||||||
|
|
||||||
func _ready():
|
|
||||||
State.environment_settings_changed.connect(_on_environment_settings_update)
|
|
||||||
Scenes.scene_starting.connect(scene_starting)
|
|
||||||
Scenes.scene_finished.connect(scene_finished)
|
|
||||||
_on_environment_settings_update()
|
|
||||||
|
|
||||||
func focus_env():
|
|
||||||
var dof_strength_tween: Tween = create_tween()
|
|
||||||
dof_strength_tween.tween_property(camera_attributes, \"dof_blur_amount\", 0, 1)
|
|
||||||
await(dof_strength_tween.finished)
|
|
||||||
camera_attributes.dof_blur_near_enabled = false
|
|
||||||
|
|
||||||
func focus_object():
|
|
||||||
camera_attributes.dof_blur_near_enabled = true
|
|
||||||
var dof_strength_tween: Tween = create_tween()
|
|
||||||
dof_strength_tween.tween_property(camera_attributes, \"dof_blur_amount\", 0.4, 1)
|
|
||||||
|
|
||||||
func scene_starting(id: int, _repeat: bool):
|
|
||||||
if id == Scenes.id.YOUTH_VOICE_TRAINING:
|
|
||||||
await get_tree().create_timer(10).timeout
|
|
||||||
focus_object()
|
|
||||||
|
|
||||||
func scene_finished(_id: int, _repeat: bool):
|
|
||||||
focus_env()
|
|
||||||
|
|
||||||
func _on_environment_settings_update():
|
|
||||||
environment.ssil_enabled = State.ssil_enable
|
|
||||||
environment.sdfgi_enabled = State.sdfgi_enable
|
|
||||||
"
|
|
||||||
|
|
||||||
[sub_resource type="ViewportTexture" id="ViewportTexture_corra"]
|
[sub_resource type="ViewportTexture" id="ViewportTexture_corra"]
|
||||||
viewport_path = NodePath("WorldEnvironment/window_glass/SubViewport")
|
viewport_path = NodePath("WorldEnvironment/window_glass/SubViewport")
|
||||||
|
|
||||||
|
|
@ -2058,7 +2026,6 @@ script = ExtResource("11_6fwv8")
|
||||||
|
|
||||||
[node name="collectable_particles" parent="logic/MaskMemento" instance=ExtResource("12_qxx2k")]
|
[node name="collectable_particles" parent="logic/MaskMemento" instance=ExtResource("12_qxx2k")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00898492, -0.14171, 0.152755)
|
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/MaskMemento"]
|
[node name="UiWrapper" type="Area3D" parent="logic/MaskMemento"]
|
||||||
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, -0.134171, -0.20001, -0.000299692)
|
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, -0.134171, -0.20001, -0.000299692)
|
||||||
|
|
@ -2085,7 +2052,7 @@ render_target_update_mode = 4
|
||||||
[node name="CollectableUi" parent="logic/MaskMemento/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")]
|
[node name="CollectableUi" parent="logic/MaskMemento/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")]
|
||||||
|
|
||||||
[node name="Frame" type="Sprite3D" parent="logic/MaskMemento/UiWrapper"]
|
[node name="Frame" type="Sprite3D" parent="logic/MaskMemento/UiWrapper"]
|
||||||
transform = Transform3D(0.704571, 0, -1.19209e-07, 0, 0.704571, 0, 1.19209e-07, 0, 0.704571, 1.00458, -1.47577, 0.523485)
|
transform = Transform3D(0.704571, 0, -1.19209e-07, 0, 0.704571, 0, 1.19209e-07, 0, 0.704571, -2.9410253, -0.7882633, 0.5234841)
|
||||||
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
|
||||||
|
|
@ -2108,7 +2075,6 @@ script = ExtResource("11_6fwv8")
|
||||||
|
|
||||||
[node name="collectable_particles" parent="logic/ClothesMemento" instance=ExtResource("12_qxx2k")]
|
[node name="collectable_particles" parent="logic/ClothesMemento" instance=ExtResource("12_qxx2k")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00898492, -0.14171, 0.152755)
|
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/ClothesMemento"]
|
[node name="UiWrapper" type="Area3D" parent="logic/ClothesMemento"]
|
||||||
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
|
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
|
||||||
|
|
@ -2137,7 +2103,7 @@ render_target_update_mode = 4
|
||||||
scene = 3
|
scene = 3
|
||||||
|
|
||||||
[node name="Frame" type="Sprite3D" parent="logic/ClothesMemento/UiWrapper"]
|
[node name="Frame" type="Sprite3D" parent="logic/ClothesMemento/UiWrapper"]
|
||||||
transform = Transform3D(0.7045712, 0, 0, 0, 0.70457095, 0, 0, 0, 0.7045712, 0, -1.51, -1.155)
|
transform = Transform3D(0.7045712, 0, 0, 0, 0.70457095, 0, 0, 0, 0.7045712, -3.912711, -1.4219285, -3.3596572e-07)
|
||||||
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
|
||||||
|
|
@ -2160,7 +2126,6 @@ script = ExtResource("11_6fwv8")
|
||||||
|
|
||||||
[node name="collectable_particles" parent="logic/ComicMemento" instance=ExtResource("12_qxx2k")]
|
[node name="collectable_particles" parent="logic/ComicMemento" instance=ExtResource("12_qxx2k")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00898492, -0.14171, 0.152755)
|
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/ComicMemento"]
|
[node name="UiWrapper" type="Area3D" parent="logic/ComicMemento"]
|
||||||
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
|
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
|
||||||
|
|
@ -2188,7 +2153,7 @@ render_target_update_mode = 4
|
||||||
scene = 2
|
scene = 2
|
||||||
|
|
||||||
[node name="Frame" type="Sprite3D" parent="logic/ComicMemento/UiWrapper"]
|
[node name="Frame" type="Sprite3D" parent="logic/ComicMemento/UiWrapper"]
|
||||||
transform = Transform3D(0.7045712, 0, 0, 0, 0.70457095, 0, 0, 0, 0.7045712, 0, -1.51, -1.155)
|
transform = Transform3D(0.70457107, 0, 0, 0, 0.7045709, 0, 0, 0, 0.70457107, 1.0969601, -0.6430273, -0.2718675)
|
||||||
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
|
||||||
|
|
@ -2199,7 +2164,7 @@ region_enabled = true
|
||||||
region_rect = Rect2(735.5, 0, 995.5, 1024)
|
region_rect = Rect2(735.5, 0, 995.5, 1024)
|
||||||
|
|
||||||
[node name="HoverDetect" type="CollisionShape3D" parent="logic/ComicMemento"]
|
[node name="HoverDetect" type="CollisionShape3D" parent="logic/ComicMemento"]
|
||||||
transform = Transform3D(1, 0, 2.98023e-08, 0, 1, 0, -2.98023e-08, 0, 1, 0, -0.237872, 0)
|
transform = Transform3D(1, 0, 2.98023e-08, 0, 1, 0, -2.98023e-08, 0, 1, 6.2613066e-09, -0.237872, 0.21009475)
|
||||||
shape = SubResource("CapsuleShape3D_72g2i")
|
shape = SubResource("CapsuleShape3D_72g2i")
|
||||||
|
|
||||||
[node name="CeilingMemento" type="Area3D" parent="logic" groups=["interactables"]]
|
[node name="CeilingMemento" type="Area3D" parent="logic" groups=["interactables"]]
|
||||||
|
|
@ -2211,7 +2176,6 @@ script = ExtResource("11_6fwv8")
|
||||||
|
|
||||||
[node name="collectable_particles" parent="logic/CeilingMemento" instance=ExtResource("12_qxx2k")]
|
[node name="collectable_particles" parent="logic/CeilingMemento" instance=ExtResource("12_qxx2k")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00898492, -0.14171, 0.152755)
|
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/CeilingMemento"]
|
[node name="UiWrapper" type="Area3D" parent="logic/CeilingMemento"]
|
||||||
transform = Transform3D(0.10000001, 0, -3.7252903e-09, 0, 0.1, 0, 3.7252903e-09, 0, 0.10000001, 0, 0.06951594, 0)
|
transform = Transform3D(0.10000001, 0, -3.7252903e-09, 0, 0.1, 0, 3.7252903e-09, 0, 0.10000001, 0, 0.06951594, 0)
|
||||||
|
|
@ -2252,7 +2216,6 @@ script = ExtResource("11_6fwv8")
|
||||||
|
|
||||||
[node name="collectable_particles" parent="logic/MindBoard" instance=ExtResource("12_qxx2k")]
|
[node name="collectable_particles" parent="logic/MindBoard" instance=ExtResource("12_qxx2k")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00898492, -0.14171, 0.152755)
|
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/MindBoard"]
|
[node name="UiWrapper" type="Area3D" parent="logic/MindBoard"]
|
||||||
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
|
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
|
||||||
|
|
@ -2292,7 +2255,6 @@ script = ExtResource("11_6fwv8")
|
||||||
|
|
||||||
[node name="collectable_particles" parent="logic/Door" instance=ExtResource("12_qxx2k")]
|
[node name="collectable_particles" parent="logic/Door" instance=ExtResource("12_qxx2k")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00898492, -0.14171, 0.152755)
|
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/Door"]
|
[node name="UiWrapper" type="Area3D" parent="logic/Door"]
|
||||||
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
|
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
|
||||||
|
|
@ -2403,7 +2365,7 @@ shadow_enabled = true
|
||||||
shadow_caster_mask = 4293918721
|
shadow_caster_mask = 4293918721
|
||||||
|
|
||||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="visuals"]
|
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="visuals"]
|
||||||
transform = Transform3D(0.82167387, 0.44718722, -0.35337743, -0.41379577, 0.8944144, 0.16969286, 0.3919504, 0.0067938855, 0.9199613, 0.866179, 2.88055, 4.51936)
|
transform = Transform3D(0.82167387, 0.44718716, -0.35337743, -0.41379577, 0.8944143, 0.16969286, 0.3919504, 0.0067938846, 0.9199613, 0.866179, 2.88055, 4.51936)
|
||||||
visible = false
|
visible = false
|
||||||
light_color = Color(0.81982, 0.935491, 0.980381, 1)
|
light_color = Color(0.81982, 0.935491, 0.980381, 1)
|
||||||
light_energy = 20.0
|
light_energy = 20.0
|
||||||
|
|
@ -2505,7 +2467,7 @@ script = SubResource("GDScript_yn0pl")
|
||||||
environment = SubResource("Environment_pllnm")
|
environment = SubResource("Environment_pllnm")
|
||||||
camera_attributes = SubResource("CameraAttributesPractical_26mp0")
|
camera_attributes = SubResource("CameraAttributesPractical_26mp0")
|
||||||
compositor = SubResource("Compositor_bgk6f")
|
compositor = SubResource("Compositor_bgk6f")
|
||||||
script = SubResource("GDScript_wb8kg")
|
script = ExtResource("38_ypa88")
|
||||||
|
|
||||||
[node name="window_frames" type="MeshInstance3D" parent="WorldEnvironment"]
|
[node name="window_frames" type="MeshInstance3D" parent="WorldEnvironment"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.013145)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.013145)
|
||||||
|
|
@ -2535,7 +2497,6 @@ transform = Transform3D(-1, 0, -1.50996e-07, 0, 1, 0, 1.50996e-07, 0, -1, 0.9066
|
||||||
light_energy = 0.0
|
light_energy = 0.0
|
||||||
|
|
||||||
[node name="SceneUI" type="Control" parent="."]
|
[node name="SceneUI" type="Control" parent="."]
|
||||||
visible = false
|
|
||||||
layout_mode = 3
|
layout_mode = 3
|
||||||
anchors_preset = 15
|
anchors_preset = 15
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
extends WorldEnvironment
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
State.environment_settings_changed.connect(_on_environment_settings_update)
|
||||||
|
Scenes.scene_starting.connect(scene_starting)
|
||||||
|
Scenes.scene_finished.connect(scene_finished)
|
||||||
|
_on_environment_settings_update()
|
||||||
|
|
||||||
|
func focus_env():
|
||||||
|
var dof_strength_tween: Tween = create_tween()
|
||||||
|
dof_strength_tween.tween_property(camera_attributes, "dof_blur_amount", 0, 1)
|
||||||
|
await(dof_strength_tween.finished)
|
||||||
|
camera_attributes.dof_blur_near_enabled = false
|
||||||
|
|
||||||
|
func focus_object():
|
||||||
|
camera_attributes.dof_blur_near_enabled = true
|
||||||
|
var dof_strength_tween: Tween = create_tween()
|
||||||
|
dof_strength_tween.tween_property(camera_attributes, "dof_blur_amount", 0.4, 1)
|
||||||
|
|
||||||
|
func scene_starting(id: int, _repeat: bool):
|
||||||
|
if id == Scenes.id.YOUTH_VOICE_TRAINING:
|
||||||
|
await get_tree().create_timer(10).timeout
|
||||||
|
focus_object()
|
||||||
|
|
||||||
|
func scene_finished(_id: int, _repeat: bool):
|
||||||
|
focus_env()
|
||||||
|
|
||||||
|
func _on_environment_settings_update():
|
||||||
|
environment.ssil_enabled = State.ssil_enable
|
||||||
|
environment.sdfgi_enabled = State.sdfgi_enable
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://c5eiqpr1q41xk
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
extends Area3D
|
extends Area3D
|
||||||
|
|
||||||
@export var billboard = true
|
@export var billboard: bool = true
|
||||||
@onready var sprite: Sprite3D = $UiSprite
|
@onready var sprite: Sprite3D = $UiSprite
|
||||||
@onready var viewport: SubViewport = $UiSprite/SubViewport
|
@onready var viewport: SubViewport = $UiSprite/SubViewport
|
||||||
|
|
||||||
|
|
||||||
func _process(_delta):
|
func _process(_delta):
|
||||||
if billboard:
|
if billboard:
|
||||||
var camera = get_viewport().get_camera_3d()
|
var camera := get_viewport().get_camera_3d()
|
||||||
|
|
||||||
var up = (camera.global_position - global_position)
|
var up := (camera.global_position - global_position)
|
||||||
up = up.cross(Vector3.UP).cross(up)
|
up = up.cross(Vector3.UP).cross(up)
|
||||||
|
|
||||||
look_at(global_position - (camera.global_position - global_position), up)
|
look_at(global_position - (camera.global_position - global_position), up)
|
||||||
|
|
@ -24,7 +24,7 @@ func _input(event: InputEvent) -> void:
|
||||||
func _on_input_event(_camera: Camera3D, event: InputEvent, pos: Vector3, _normal: Vector3, _shape_idx: int):
|
func _on_input_event(_camera: Camera3D, event: InputEvent, pos: Vector3, _normal: Vector3, _shape_idx: int):
|
||||||
if not State.focus_locked:
|
if not State.focus_locked:
|
||||||
# Position of the event in Sprite3D local coordinates.
|
# Position of the event in Sprite3D local coordinates.
|
||||||
var texture_3d_position = sprite.get_global_transform().affine_inverse() * pos
|
var texture_3d_position := sprite.get_global_transform().affine_inverse() * pos
|
||||||
#if !is_zero_approx(texture_3d_position.z):
|
#if !is_zero_approx(texture_3d_position.z):
|
||||||
# # Discard event because event didn't happen on the side of the Sprite3D.
|
# # Discard event because event didn't happen on the side of the Sprite3D.
|
||||||
# return
|
# return
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Rendering=null
|
||||||
antialiasing=1
|
antialiasing=1
|
||||||
generate_mipmaps=false
|
generate_mipmaps=false
|
||||||
disable_embedded_bitmaps=true
|
disable_embedded_bitmaps=true
|
||||||
multichannel_signed_distance_field=false
|
multichannel_signed_distance_field=true
|
||||||
msdf_pixel_range=8
|
msdf_pixel_range=8
|
||||||
msdf_size=48
|
msdf_size=48
|
||||||
allow_system_fallback=true
|
allow_system_fallback=true
|
||||||
|
|
@ -30,7 +30,12 @@ Fallbacks=null
|
||||||
fallbacks=[]
|
fallbacks=[]
|
||||||
Compress=null
|
Compress=null
|
||||||
compress=true
|
compress=true
|
||||||
preload=[]
|
preload=[{
|
||||||
|
"chars": [],
|
||||||
|
"glyphs": [],
|
||||||
|
"name": "New Configuration",
|
||||||
|
"size": Vector2i(16, 0)
|
||||||
|
}]
|
||||||
language_support={}
|
language_support={}
|
||||||
script_support={}
|
script_support={}
|
||||||
opentype_features={}
|
opentype_features={}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Rendering=null
|
||||||
antialiasing=1
|
antialiasing=1
|
||||||
generate_mipmaps=false
|
generate_mipmaps=false
|
||||||
disable_embedded_bitmaps=true
|
disable_embedded_bitmaps=true
|
||||||
multichannel_signed_distance_field=false
|
multichannel_signed_distance_field=true
|
||||||
msdf_pixel_range=8
|
msdf_pixel_range=8
|
||||||
msdf_size=48
|
msdf_size=48
|
||||||
allow_system_fallback=true
|
allow_system_fallback=true
|
||||||
|
|
@ -30,7 +30,12 @@ Fallbacks=null
|
||||||
fallbacks=[]
|
fallbacks=[]
|
||||||
Compress=null
|
Compress=null
|
||||||
compress=true
|
compress=true
|
||||||
preload=[]
|
preload=[{
|
||||||
|
"chars": [],
|
||||||
|
"glyphs": [],
|
||||||
|
"name": "New Configuration",
|
||||||
|
"size": Vector2i(16, 0)
|
||||||
|
}]
|
||||||
language_support={}
|
language_support={}
|
||||||
script_support={}
|
script_support={}
|
||||||
opentype_features={}
|
opentype_features={}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Rendering=null
|
||||||
antialiasing=1
|
antialiasing=1
|
||||||
generate_mipmaps=false
|
generate_mipmaps=false
|
||||||
disable_embedded_bitmaps=true
|
disable_embedded_bitmaps=true
|
||||||
multichannel_signed_distance_field=false
|
multichannel_signed_distance_field=true
|
||||||
msdf_pixel_range=8
|
msdf_pixel_range=8
|
||||||
msdf_size=48
|
msdf_size=48
|
||||||
allow_system_fallback=true
|
allow_system_fallback=true
|
||||||
|
|
@ -30,7 +30,12 @@ Fallbacks=null
|
||||||
fallbacks=[]
|
fallbacks=[]
|
||||||
Compress=null
|
Compress=null
|
||||||
compress=true
|
compress=true
|
||||||
preload=[]
|
preload=[{
|
||||||
|
"chars": [],
|
||||||
|
"glyphs": [],
|
||||||
|
"name": "New Configuration",
|
||||||
|
"size": Vector2i(16, 0)
|
||||||
|
}]
|
||||||
language_support={}
|
language_support={}
|
||||||
script_support={}
|
script_support={}
|
||||||
opentype_features={}
|
opentype_features={}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Rendering=null
|
||||||
antialiasing=1
|
antialiasing=1
|
||||||
generate_mipmaps=false
|
generate_mipmaps=false
|
||||||
disable_embedded_bitmaps=true
|
disable_embedded_bitmaps=true
|
||||||
multichannel_signed_distance_field=false
|
multichannel_signed_distance_field=true
|
||||||
msdf_pixel_range=8
|
msdf_pixel_range=8
|
||||||
msdf_size=48
|
msdf_size=48
|
||||||
allow_system_fallback=true
|
allow_system_fallback=true
|
||||||
|
|
@ -30,7 +30,12 @@ Fallbacks=null
|
||||||
fallbacks=[]
|
fallbacks=[]
|
||||||
Compress=null
|
Compress=null
|
||||||
compress=true
|
compress=true
|
||||||
preload=[]
|
preload=[{
|
||||||
|
"chars": [],
|
||||||
|
"glyphs": [],
|
||||||
|
"name": "New Configuration",
|
||||||
|
"size": Vector2i(16, 0)
|
||||||
|
}]
|
||||||
language_support={}
|
language_support={}
|
||||||
script_support={}
|
script_support={}
|
||||||
opentype_features={}
|
opentype_features={}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Rendering=null
|
||||||
antialiasing=1
|
antialiasing=1
|
||||||
generate_mipmaps=false
|
generate_mipmaps=false
|
||||||
disable_embedded_bitmaps=true
|
disable_embedded_bitmaps=true
|
||||||
multichannel_signed_distance_field=false
|
multichannel_signed_distance_field=true
|
||||||
msdf_pixel_range=8
|
msdf_pixel_range=8
|
||||||
msdf_size=48
|
msdf_size=48
|
||||||
allow_system_fallback=true
|
allow_system_fallback=true
|
||||||
|
|
@ -30,7 +30,12 @@ Fallbacks=null
|
||||||
fallbacks=[]
|
fallbacks=[]
|
||||||
Compress=null
|
Compress=null
|
||||||
compress=true
|
compress=true
|
||||||
preload=[]
|
preload=[{
|
||||||
|
"chars": [],
|
||||||
|
"glyphs": [],
|
||||||
|
"name": "New Configuration",
|
||||||
|
"size": Vector2i(16, 0)
|
||||||
|
}]
|
||||||
language_support={}
|
language_support={}
|
||||||
script_support={}
|
script_support={}
|
||||||
opentype_features={}
|
opentype_features={}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Rendering=null
|
||||||
antialiasing=1
|
antialiasing=1
|
||||||
generate_mipmaps=false
|
generate_mipmaps=false
|
||||||
disable_embedded_bitmaps=true
|
disable_embedded_bitmaps=true
|
||||||
multichannel_signed_distance_field=false
|
multichannel_signed_distance_field=true
|
||||||
msdf_pixel_range=8
|
msdf_pixel_range=8
|
||||||
msdf_size=48
|
msdf_size=48
|
||||||
allow_system_fallback=true
|
allow_system_fallback=true
|
||||||
|
|
@ -30,7 +30,13 @@ Fallbacks=null
|
||||||
fallbacks=[]
|
fallbacks=[]
|
||||||
Compress=null
|
Compress=null
|
||||||
compress=true
|
compress=true
|
||||||
preload=[]
|
preload=[{
|
||||||
|
"chars": [],
|
||||||
|
"glyphs": [],
|
||||||
|
"name": "New Configuration",
|
||||||
|
"size": Vector2i(16, 0),
|
||||||
|
&"variation_embolden": 0.0
|
||||||
|
}]
|
||||||
language_support={}
|
language_support={}
|
||||||
script_support={}
|
script_support={}
|
||||||
opentype_features={}
|
opentype_features={}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Rendering=null
|
||||||
antialiasing=1
|
antialiasing=1
|
||||||
generate_mipmaps=false
|
generate_mipmaps=false
|
||||||
disable_embedded_bitmaps=true
|
disable_embedded_bitmaps=true
|
||||||
multichannel_signed_distance_field=false
|
multichannel_signed_distance_field=true
|
||||||
msdf_pixel_range=8
|
msdf_pixel_range=8
|
||||||
msdf_size=48
|
msdf_size=48
|
||||||
allow_system_fallback=true
|
allow_system_fallback=true
|
||||||
|
|
@ -30,7 +30,12 @@ Fallbacks=null
|
||||||
fallbacks=[]
|
fallbacks=[]
|
||||||
Compress=null
|
Compress=null
|
||||||
compress=true
|
compress=true
|
||||||
preload=[]
|
preload=[{
|
||||||
|
"chars": [],
|
||||||
|
"glyphs": [],
|
||||||
|
"name": "New Configuration",
|
||||||
|
"size": Vector2i(16, 0)
|
||||||
|
}]
|
||||||
language_support={}
|
language_support={}
|
||||||
script_support={}
|
script_support={}
|
||||||
opentype_features={}
|
opentype_features={}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Rendering=null
|
||||||
antialiasing=1
|
antialiasing=1
|
||||||
generate_mipmaps=false
|
generate_mipmaps=false
|
||||||
disable_embedded_bitmaps=true
|
disable_embedded_bitmaps=true
|
||||||
multichannel_signed_distance_field=false
|
multichannel_signed_distance_field=true
|
||||||
msdf_pixel_range=8
|
msdf_pixel_range=8
|
||||||
msdf_size=48
|
msdf_size=48
|
||||||
allow_system_fallback=true
|
allow_system_fallback=true
|
||||||
|
|
@ -30,7 +30,12 @@ Fallbacks=null
|
||||||
fallbacks=[]
|
fallbacks=[]
|
||||||
Compress=null
|
Compress=null
|
||||||
compress=true
|
compress=true
|
||||||
preload=[]
|
preload=[{
|
||||||
|
"chars": [],
|
||||||
|
"glyphs": [],
|
||||||
|
"name": "New Configuration",
|
||||||
|
"size": Vector2i(16, 0)
|
||||||
|
}]
|
||||||
language_support={}
|
language_support={}
|
||||||
script_support={}
|
script_support={}
|
||||||
opentype_features={}
|
opentype_features={}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Rendering=null
|
||||||
antialiasing=1
|
antialiasing=1
|
||||||
generate_mipmaps=false
|
generate_mipmaps=false
|
||||||
disable_embedded_bitmaps=true
|
disable_embedded_bitmaps=true
|
||||||
multichannel_signed_distance_field=false
|
multichannel_signed_distance_field=true
|
||||||
msdf_pixel_range=8
|
msdf_pixel_range=8
|
||||||
msdf_size=48
|
msdf_size=48
|
||||||
allow_system_fallback=true
|
allow_system_fallback=true
|
||||||
|
|
@ -30,7 +30,12 @@ Fallbacks=null
|
||||||
fallbacks=[]
|
fallbacks=[]
|
||||||
Compress=null
|
Compress=null
|
||||||
compress=true
|
compress=true
|
||||||
preload=[]
|
preload=[{
|
||||||
|
"chars": [],
|
||||||
|
"glyphs": [],
|
||||||
|
"name": "New Configuration",
|
||||||
|
"size": Vector2i(16, 0)
|
||||||
|
}]
|
||||||
language_support={}
|
language_support={}
|
||||||
script_support={}
|
script_support={}
|
||||||
opentype_features={}
|
opentype_features={}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Rendering=null
|
||||||
antialiasing=1
|
antialiasing=1
|
||||||
generate_mipmaps=false
|
generate_mipmaps=false
|
||||||
disable_embedded_bitmaps=true
|
disable_embedded_bitmaps=true
|
||||||
multichannel_signed_distance_field=false
|
multichannel_signed_distance_field=true
|
||||||
msdf_pixel_range=8
|
msdf_pixel_range=8
|
||||||
msdf_size=48
|
msdf_size=48
|
||||||
allow_system_fallback=true
|
allow_system_fallback=true
|
||||||
|
|
@ -30,7 +30,12 @@ Fallbacks=null
|
||||||
fallbacks=[]
|
fallbacks=[]
|
||||||
Compress=null
|
Compress=null
|
||||||
compress=true
|
compress=true
|
||||||
preload=[]
|
preload=[{
|
||||||
|
"chars": [],
|
||||||
|
"glyphs": [],
|
||||||
|
"name": "New Configuration",
|
||||||
|
"size": Vector2i(16, 0)
|
||||||
|
}]
|
||||||
language_support={}
|
language_support={}
|
||||||
script_support={}
|
script_support={}
|
||||||
opentype_features={}
|
opentype_features={}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Rendering=null
|
||||||
antialiasing=1
|
antialiasing=1
|
||||||
generate_mipmaps=false
|
generate_mipmaps=false
|
||||||
disable_embedded_bitmaps=true
|
disable_embedded_bitmaps=true
|
||||||
multichannel_signed_distance_field=false
|
multichannel_signed_distance_field=true
|
||||||
msdf_pixel_range=8
|
msdf_pixel_range=8
|
||||||
msdf_size=48
|
msdf_size=48
|
||||||
allow_system_fallback=true
|
allow_system_fallback=true
|
||||||
|
|
@ -30,7 +30,12 @@ Fallbacks=null
|
||||||
fallbacks=[]
|
fallbacks=[]
|
||||||
Compress=null
|
Compress=null
|
||||||
compress=true
|
compress=true
|
||||||
preload=[]
|
preload=[{
|
||||||
|
"chars": [],
|
||||||
|
"glyphs": [],
|
||||||
|
"name": "New Configuration",
|
||||||
|
"size": Vector2i(16, 0)
|
||||||
|
}]
|
||||||
language_support={}
|
language_support={}
|
||||||
script_support={}
|
script_support={}
|
||||||
opentype_features={}
|
opentype_features={}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Rendering=null
|
||||||
antialiasing=1
|
antialiasing=1
|
||||||
generate_mipmaps=false
|
generate_mipmaps=false
|
||||||
disable_embedded_bitmaps=true
|
disable_embedded_bitmaps=true
|
||||||
multichannel_signed_distance_field=false
|
multichannel_signed_distance_field=true
|
||||||
msdf_pixel_range=8
|
msdf_pixel_range=8
|
||||||
msdf_size=48
|
msdf_size=48
|
||||||
allow_system_fallback=true
|
allow_system_fallback=true
|
||||||
|
|
@ -30,7 +30,12 @@ Fallbacks=null
|
||||||
fallbacks=[]
|
fallbacks=[]
|
||||||
Compress=null
|
Compress=null
|
||||||
compress=true
|
compress=true
|
||||||
preload=[]
|
preload=[{
|
||||||
|
"chars": [],
|
||||||
|
"glyphs": [],
|
||||||
|
"name": "New Configuration",
|
||||||
|
"size": Vector2i(16, 0)
|
||||||
|
}]
|
||||||
language_support={}
|
language_support={}
|
||||||
script_support={}
|
script_support={}
|
||||||
opentype_features={}
|
opentype_features={}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Rendering=null
|
||||||
antialiasing=1
|
antialiasing=1
|
||||||
generate_mipmaps=false
|
generate_mipmaps=false
|
||||||
disable_embedded_bitmaps=true
|
disable_embedded_bitmaps=true
|
||||||
multichannel_signed_distance_field=false
|
multichannel_signed_distance_field=true
|
||||||
msdf_pixel_range=8
|
msdf_pixel_range=8
|
||||||
msdf_size=48
|
msdf_size=48
|
||||||
allow_system_fallback=true
|
allow_system_fallback=true
|
||||||
|
|
@ -30,7 +30,12 @@ Fallbacks=null
|
||||||
fallbacks=[]
|
fallbacks=[]
|
||||||
Compress=null
|
Compress=null
|
||||||
compress=true
|
compress=true
|
||||||
preload=[]
|
preload=[{
|
||||||
|
"chars": [],
|
||||||
|
"glyphs": [],
|
||||||
|
"name": "New Configuration",
|
||||||
|
"size": Vector2i(16, 0)
|
||||||
|
}]
|
||||||
language_support={}
|
language_support={}
|
||||||
script_support={}
|
script_support={}
|
||||||
opentype_features={}
|
opentype_features={}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Rendering=null
|
||||||
antialiasing=1
|
antialiasing=1
|
||||||
generate_mipmaps=false
|
generate_mipmaps=false
|
||||||
disable_embedded_bitmaps=true
|
disable_embedded_bitmaps=true
|
||||||
multichannel_signed_distance_field=false
|
multichannel_signed_distance_field=true
|
||||||
msdf_pixel_range=8
|
msdf_pixel_range=8
|
||||||
msdf_size=48
|
msdf_size=48
|
||||||
allow_system_fallback=true
|
allow_system_fallback=true
|
||||||
|
|
@ -30,7 +30,12 @@ Fallbacks=null
|
||||||
fallbacks=[]
|
fallbacks=[]
|
||||||
Compress=null
|
Compress=null
|
||||||
compress=true
|
compress=true
|
||||||
preload=[]
|
preload=[{
|
||||||
|
"chars": [],
|
||||||
|
"glyphs": [],
|
||||||
|
"name": "New Configuration",
|
||||||
|
"size": Vector2i(16, 0)
|
||||||
|
}]
|
||||||
language_support={}
|
language_support={}
|
||||||
script_support={}
|
script_support={}
|
||||||
opentype_features={}
|
opentype_features={}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Rendering=null
|
||||||
antialiasing=1
|
antialiasing=1
|
||||||
generate_mipmaps=false
|
generate_mipmaps=false
|
||||||
disable_embedded_bitmaps=true
|
disable_embedded_bitmaps=true
|
||||||
multichannel_signed_distance_field=false
|
multichannel_signed_distance_field=true
|
||||||
msdf_pixel_range=8
|
msdf_pixel_range=8
|
||||||
msdf_size=48
|
msdf_size=48
|
||||||
allow_system_fallback=true
|
allow_system_fallback=true
|
||||||
|
|
@ -30,7 +30,12 @@ Fallbacks=null
|
||||||
fallbacks=[]
|
fallbacks=[]
|
||||||
Compress=null
|
Compress=null
|
||||||
compress=true
|
compress=true
|
||||||
preload=[]
|
preload=[{
|
||||||
|
"chars": [],
|
||||||
|
"glyphs": [],
|
||||||
|
"name": "New Configuration",
|
||||||
|
"size": Vector2i(16, 0)
|
||||||
|
}]
|
||||||
language_support={}
|
language_support={}
|
||||||
script_support={}
|
script_support={}
|
||||||
opentype_features={}
|
opentype_features={}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Rendering=null
|
||||||
antialiasing=1
|
antialiasing=1
|
||||||
generate_mipmaps=false
|
generate_mipmaps=false
|
||||||
disable_embedded_bitmaps=true
|
disable_embedded_bitmaps=true
|
||||||
multichannel_signed_distance_field=false
|
multichannel_signed_distance_field=true
|
||||||
msdf_pixel_range=8
|
msdf_pixel_range=8
|
||||||
msdf_size=48
|
msdf_size=48
|
||||||
allow_system_fallback=true
|
allow_system_fallback=true
|
||||||
|
|
@ -30,7 +30,12 @@ Fallbacks=null
|
||||||
fallbacks=[]
|
fallbacks=[]
|
||||||
Compress=null
|
Compress=null
|
||||||
compress=true
|
compress=true
|
||||||
preload=[]
|
preload=[{
|
||||||
|
"chars": [],
|
||||||
|
"glyphs": [],
|
||||||
|
"name": "New Configuration",
|
||||||
|
"size": Vector2i(16, 0)
|
||||||
|
}]
|
||||||
language_support={}
|
language_support={}
|
||||||
script_support={}
|
script_support={}
|
||||||
opentype_features={}
|
opentype_features={}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Rendering=null
|
||||||
antialiasing=1
|
antialiasing=1
|
||||||
generate_mipmaps=false
|
generate_mipmaps=false
|
||||||
disable_embedded_bitmaps=true
|
disable_embedded_bitmaps=true
|
||||||
multichannel_signed_distance_field=false
|
multichannel_signed_distance_field=true
|
||||||
msdf_pixel_range=8
|
msdf_pixel_range=8
|
||||||
msdf_size=48
|
msdf_size=48
|
||||||
allow_system_fallback=true
|
allow_system_fallback=true
|
||||||
|
|
@ -30,7 +30,12 @@ Fallbacks=null
|
||||||
fallbacks=[]
|
fallbacks=[]
|
||||||
Compress=null
|
Compress=null
|
||||||
compress=true
|
compress=true
|
||||||
preload=[]
|
preload=[{
|
||||||
|
"chars": [],
|
||||||
|
"glyphs": [],
|
||||||
|
"name": "New Configuration",
|
||||||
|
"size": Vector2i(16, 0)
|
||||||
|
}]
|
||||||
language_support={}
|
language_support={}
|
||||||
script_support={}
|
script_support={}
|
||||||
opentype_features={}
|
opentype_features={}
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,149 +1,242 @@
|
||||||
extends CenterContainer
|
extends CenterContainer
|
||||||
class_name Collectable_Ui
|
class_name CollectableUi
|
||||||
|
|
||||||
@export var scene:Scenes.id = 0 as Scenes.id
|
|
||||||
|
|
||||||
@export var collapsed = true:
|
|
||||||
set(collapse):
|
|
||||||
if is_inside_tree() and not Engine.is_editor_hint():
|
|
||||||
if State.reduce_motion:
|
|
||||||
collapsed = false
|
|
||||||
return
|
|
||||||
if collapse and not collapsed:
|
|
||||||
if is_inside_tree():
|
|
||||||
_hide_buttons()
|
|
||||||
collapsed = collapse
|
|
||||||
elif not collapse and collapsed:
|
|
||||||
if is_inside_tree():
|
|
||||||
_show_buttons()
|
|
||||||
collapsed = collapse
|
|
||||||
|
|
||||||
if collapse and has_stage: State.leave_stage(self)
|
|
||||||
|
|
||||||
@export var is_board: bool = false:
|
|
||||||
set(board):
|
|
||||||
is_board = board
|
|
||||||
if board:
|
|
||||||
$Panel/Content/Buttons/VBoxContainer/collect_or_listen.text = "Order Thoughts"
|
|
||||||
else:
|
|
||||||
$Panel/Content/Buttons/VBoxContainer/collect_or_listen.text = "Collect Memento"
|
|
||||||
@export var has_stage: bool = false:
|
@export var has_stage: bool = false:
|
||||||
set(focused):
|
set(focused):
|
||||||
print_debug("set focus of card to ", focused)
|
|
||||||
|
|
||||||
if has_stage == focused: return
|
if has_stage == focused: return
|
||||||
|
|
||||||
if focused:
|
if focused:
|
||||||
has_stage = true
|
has_stage = true
|
||||||
collapsed = false
|
is_collapsed = false
|
||||||
if not visible: show()
|
if not visible: show()
|
||||||
$Panel/Content/Buttons/VBoxContainer/collect_or_listen.grab_focus()
|
else:
|
||||||
elif has_stage:
|
|
||||||
has_stage = false
|
has_stage = false
|
||||||
get_viewport().gui_release_focus()
|
get_viewport().gui_release_focus()
|
||||||
|
is_collapsed = true
|
||||||
|
|
||||||
# FIXME needs to be outsourced to scene reference state
|
#@export var collapsed = true:
|
||||||
@export var collected: bool = false:
|
# set(collapse):
|
||||||
set(set_collected):
|
# if is_inside_tree() and not Engine.is_editor_hint():
|
||||||
collected = set_collected
|
# if State.reduce_motion:
|
||||||
if set_collected:
|
# collapsed = false
|
||||||
$Panel/Content/Buttons/VBoxContainer/put_back.show()
|
# return
|
||||||
if not is_board:
|
# if collapse and not collapsed:
|
||||||
$Panel/Content/Buttons/VBoxContainer/put_back.disabled = true
|
# if is_inside_tree():
|
||||||
$Panel/Content/Buttons/VBoxContainer/collect_or_listen.text = "listen again"
|
# _hide_buttons()
|
||||||
if State.allow_skipping:
|
# collapsed = collapse
|
||||||
$Panel/Content/Buttons/VBoxContainer/skip.text = "discard cards (skip)"
|
# elif not collapse and collapsed:
|
||||||
|
# if is_inside_tree():
|
||||||
|
# _show_buttons()
|
||||||
|
# collapsed = collapse
|
||||||
|
#
|
||||||
|
# if collapse and has_stage: State.leave_stage(self)
|
||||||
|
|
||||||
|
@export var scene: Scenes.id = Scenes.id.YOUTH_DRAEVEN:
|
||||||
|
set(id):
|
||||||
|
scene = id
|
||||||
|
if is_inside_tree() and not is_board:
|
||||||
|
match id:
|
||||||
|
Scenes.id.YOUTH_DRAEVEN:
|
||||||
|
# FIXME: this explicit translation should not be nessecary
|
||||||
|
if title_override == "": title_label.text = TranslationServer.translate("Starlight")
|
||||||
|
if subtitle_override == "": cn_label.text = "[b]%s[/b]: %s" % [TranslationServer.translate("MementoLabel_CN"), TranslationServer.translate("MementoLabel_DraevenCN")]
|
||||||
|
Scenes.id.YOUTH_CHILDHOOD:
|
||||||
|
if title_override == "": title_label.text = TranslationServer.translate("crafted Mask")
|
||||||
|
if subtitle_override == "": cn_label.text = "[b]%s[/b]: %s" % [TranslationServer.translate("MementoLabel_CN"), TranslationServer.translate("MementoLabel_ChildhoodCN")]
|
||||||
|
Scenes.id.YOUTH_VOICE_TRAINING:
|
||||||
|
if title_override == "": title_label.text = TranslationServer.translate("Comic Stash")
|
||||||
|
if subtitle_override == "": cn_label.text = "[b]%s[/b]: %s" % [TranslationServer.translate("MementoLabel_CN"), TranslationServer.translate("MementoLabel_VoiceCN")]
|
||||||
|
Scenes.id.YOUTH_JUI_JUTSU:
|
||||||
|
if title_override == "": title_label.text = TranslationServer.translate("Sports Clothes")
|
||||||
|
if subtitle_override == "": cn_label.text = "[b]%s[/b]: %s" % [TranslationServer.translate("MementoLabel_CN"), TranslationServer.translate("MementoLabel_Jui_JutsuCN")]
|
||||||
|
Scenes.id.TRANSITION:
|
||||||
|
if title_override == "": title_label.text = TranslationServer.translate("Move on")
|
||||||
|
if subtitle_override == "": cn_label.text = ""
|
||||||
|
Scenes.id.ADULT_DND:
|
||||||
|
if title_override == "": title_label.text = TranslationServer.translate("colorful Dice")
|
||||||
|
if subtitle_override == "": cn_label.text = ""
|
||||||
|
Scenes.id.ADULT_VOLUNTARY:
|
||||||
|
if title_override == "": title_label.text = TranslationServer.translate("Gemstone Art")
|
||||||
|
if subtitle_override == "": cn_label.text = ""
|
||||||
|
Scenes.id.ADULT_CHRISTMAS:
|
||||||
|
if title_override == "": title_label.text = TranslationServer.translate("Chat Messages")
|
||||||
|
if subtitle_override == "": cn_label.text = ""
|
||||||
|
Scenes.id.ADULT_EATING:
|
||||||
|
if title_override == "": title_label.text = TranslationServer.translate("Dishes")
|
||||||
|
if subtitle_override == "": cn_label.text = ""
|
||||||
|
Scenes.id.ADULT_UNI:
|
||||||
|
if title_override == "": title_label.text = TranslationServer.translate("Science Poster")
|
||||||
|
if subtitle_override == "": cn_label.text = ""
|
||||||
|
Scenes.id.ADULT_THERAPY:
|
||||||
|
if title_override == "": title_label.text = TranslationServer.translate("Doctors Note")
|
||||||
|
if subtitle_override == "": cn_label.text = ""
|
||||||
|
Scenes.id.ADULT_BURNOUT:
|
||||||
|
if title_override == "": title_label.text = TranslationServer.translate("Paperwork")
|
||||||
|
if subtitle_override == "": cn_label.text = ""
|
||||||
|
|
||||||
|
if not Engine.is_editor_hint():
|
||||||
|
is_collected = Scenes.is_sequence_repeating(scene)
|
||||||
|
@export var is_collected: bool = false:
|
||||||
|
set(value):
|
||||||
|
is_collected = value
|
||||||
|
if is_inside_tree():
|
||||||
|
collected_box.button_pressed = value
|
||||||
|
if is_collected and not is_board:
|
||||||
|
%CollectLabel.text = "listen again"
|
||||||
else:
|
else:
|
||||||
$Panel/Content/Buttons/VBoxContainer/collect_or_listen.disabled = true
|
if not is_board:
|
||||||
$Panel/Content/Buttons/VBoxContainer/put_back.show()
|
%CollectLabel.text = "MementoLabel_collect"
|
||||||
else:
|
else:
|
||||||
$Panel/Content/Buttons/VBoxContainer/collect_or_listen.disabled = false
|
%CollectLabel.text = "find connections"
|
||||||
|
@onready var collected_box: CheckBox = %CheckBox
|
||||||
|
@export var title_override: String = "":
|
||||||
|
set(value):
|
||||||
|
title_override = value
|
||||||
|
if is_inside_tree() and not is_board:
|
||||||
|
title_label.text = value
|
||||||
|
@onready var title_label: Label = %TitleLabel
|
||||||
|
@export var subtitle_override: String = "":
|
||||||
|
set(value):
|
||||||
|
subtitle_override = value
|
||||||
|
if is_inside_tree() and not is_board:
|
||||||
|
cn_label.text = value
|
||||||
|
@onready var cn_label: RichTextLabel = %ContentNoteLabel
|
||||||
|
@onready var animation_player: AnimationPlayer = %AnimationPlayer
|
||||||
|
|
||||||
@export var skipped: bool = false
|
@export var is_collapsed: bool = true
|
||||||
|
@export var is_expanded: bool = false:
|
||||||
|
set(expanded):
|
||||||
|
if expanded != is_expanded:
|
||||||
|
is_expanded = expanded
|
||||||
|
if is_inside_tree():
|
||||||
|
animation_player.play("expand")
|
||||||
|
await animation_player.animation_finished
|
||||||
|
for button:Button in [%ReadStory, %CollectButton, %SummaryButton, %SkipButton]:
|
||||||
|
if button.visible:
|
||||||
|
button.grab_focus()
|
||||||
|
return
|
||||||
|
@export var was_skipped: bool = false
|
||||||
|
|
||||||
@export var item_name: String = "":
|
@export var is_board:bool = false:
|
||||||
set(new_name):
|
set(board):
|
||||||
item_name = new_name
|
is_board = board
|
||||||
if is_inside_tree():
|
if is_inside_tree():
|
||||||
$Panel/Content/Name.text = new_name
|
if board:
|
||||||
|
if title_override == "": title_label.text = "Mind Board"
|
||||||
@export var content_notes: String = "":
|
collected_box.hide()
|
||||||
set(new_notes):
|
# Not room agnostic yet!
|
||||||
content_notes = new_notes
|
if not Engine.is_editor_hint():
|
||||||
|
match Scenes.get_completed_total():
|
||||||
|
1:
|
||||||
|
if subtitle_override == "": cn_label.text = "Find all three Mementos to collect all thoughts."
|
||||||
|
2:
|
||||||
|
if subtitle_override == "": cn_label.text = "Find two more Mementos to get all cards."
|
||||||
|
3:
|
||||||
|
if subtitle_override == "": cn_label.text = "Find the last remaining Memento."
|
||||||
|
4:
|
||||||
|
if subtitle_override == "": cn_label.text = "Use this to find a Frame of Mind."
|
||||||
|
else:
|
||||||
|
scene = scene
|
||||||
|
collected_box.show()
|
||||||
|
@export var is_exit:bool = false:
|
||||||
|
set(exit):
|
||||||
|
is_exit = exit
|
||||||
if is_inside_tree():
|
if is_inside_tree():
|
||||||
$Panel/Content/ContentNotes.text = new_notes
|
if exit:
|
||||||
|
if title_override == "": title_label.text = "Move on"
|
||||||
|
if subtitle_override == "": %CollectLabel.text = "Leave room"
|
||||||
|
collected_box.hide()
|
||||||
|
else:
|
||||||
|
scene = scene
|
||||||
|
collected_box.show()
|
||||||
|
|
||||||
|
|
||||||
signal card_collected
|
|
||||||
signal open_board
|
signal open_board
|
||||||
|
signal exit_room
|
||||||
|
|
||||||
|
#TODO implement proper scene skipping
|
||||||
signal scene_skipped(i: int)
|
signal scene_skipped(i: int)
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
func _ready() -> void:
|
||||||
func _ready():
|
State.settings_changed.connect(_on_context_updated)
|
||||||
#$Panel/Content/ContentNotes.visible = State.show_content_notes
|
%CollectButton.pressed.connect(collect_memento)
|
||||||
#$Panel/Content/Buttons/VBoxContainer/Summary.visible = State.provide_summaries
|
##TODO: add functions for remaining buttons
|
||||||
#$Panel/Content/Buttons/VBoxContainer/skip.visible = State.allow_skipping
|
|
||||||
if visible and not collapsed: _show_buttons()
|
|
||||||
|
|
||||||
content_notes = content_notes
|
update_state()
|
||||||
|
|
||||||
|
func _on_context_updated():
|
||||||
|
%SkipButton.visible = State.allow_skipping
|
||||||
|
%SummaryButton.visible = State.provide_summaries
|
||||||
|
%ReadStory.visible = is_collected
|
||||||
|
%OptionPrompt.visible = State.allow_skipping or State.provide_summaries or is_collected and not is_board
|
||||||
|
%OptionsLabel.visible = State.allow_skipping or State.provide_summaries or is_collected and not is_board
|
||||||
|
cn_label.visible = true if State.show_content_notes else false
|
||||||
|
|
||||||
|
func update_state():
|
||||||
|
scene = scene
|
||||||
is_board = is_board
|
is_board = is_board
|
||||||
item_name = item_name
|
is_exit = is_exit
|
||||||
|
_on_context_updated()
|
||||||
|
|
||||||
func _hide_buttons():
|
func try_reveal() -> bool:
|
||||||
if is_inside_tree():
|
#if is_exit and not State.active_save_game.is_childhood_board_complete: return false
|
||||||
if not State.reduce_motion:
|
#if not is_board:
|
||||||
$AnimationPlayer.play_backwards("show_buttons")
|
# if (not Scenes.is_sequence_unlocked( self.scene )) or false: #FIXME only for testing!!!
|
||||||
|
# return false
|
||||||
|
if not visible or animation_player.get_animation("vanish") or animation_player.get_animation("vanish_all"):
|
||||||
|
update_state()
|
||||||
|
visible = true
|
||||||
|
animation_player.play("reveal")
|
||||||
|
return true
|
||||||
|
return false
|
||||||
|
|
||||||
func _show_buttons():
|
#func _process(_delta: float) -> void:
|
||||||
if is_inside_tree():
|
# if not visible or Engine.is_editor_hint(): return
|
||||||
if not State.reduce_motion:
|
# if Input.is_action_just_pressed("collect_memento_ui"):
|
||||||
$AnimationPlayer.play("show_buttons")
|
# if not is_board:
|
||||||
|
# collect_memento()
|
||||||
|
# else:
|
||||||
|
# open_board.emit()
|
||||||
|
# elif Input.is_action_just_pressed("option_memento_ui"):
|
||||||
|
# is_expanded = true
|
||||||
|
|
||||||
|
#FIXME something was eating all my inputs, maybe I can use the more pretty pattern when I figure out the culprit
|
||||||
|
func _input(event: InputEvent) -> void:
|
||||||
|
if not visible: return
|
||||||
|
if event.is_action_pressed("collect_memento_ui"):
|
||||||
|
if not is_board:
|
||||||
|
collect_memento()
|
||||||
|
get_viewport().set_input_as_handled()
|
||||||
else:
|
else:
|
||||||
$AnimationPlayer.play("RESET")
|
if is_board:
|
||||||
else:
|
open_board.emit()
|
||||||
$AnimationPlayer.play("RESET")
|
if is_exit:
|
||||||
|
exit_room.emit()
|
||||||
|
elif event.is_action_pressed("option_memento_ui"):
|
||||||
|
is_expanded = true
|
||||||
|
get_viewport().set_input_as_handled()
|
||||||
|
|
||||||
func vanish():
|
func vanish():
|
||||||
if visible:
|
if not visible: return
|
||||||
var tween = create_tween()
|
|
||||||
tween.tween_property(self, "modulate", Color(0, 0, 0), 0.4)
|
|
||||||
if not collapsed: _hide_buttons()
|
|
||||||
await tween.finished
|
|
||||||
visible = false
|
|
||||||
if has_stage: State.leave_stage(self)
|
|
||||||
|
|
||||||
func reveal():
|
if is_expanded:
|
||||||
if !visible:
|
animation_player.play("vanish_all")
|
||||||
$Panel/Content/ContentNotes.visible = State.show_content_notes
|
|
||||||
$Panel/Content/Buttons/VBoxContainer/skip.visible = State.allow_skipping and not is_board and not skipped
|
|
||||||
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():
|
|
||||||
if not has_stage:
|
|
||||||
State.transition_stage_to(self)
|
|
||||||
|
|
||||||
func _on_pick_button_pressed():
|
|
||||||
print_debug("card collected!")
|
|
||||||
if not is_board:
|
|
||||||
Scenes.start_sequence(scene)
|
|
||||||
State.leave_stage(self)
|
|
||||||
#get_tree().call_group("scene_actors", "play_scene", scene, collected)
|
|
||||||
if skipped: emit_signal("scene_skipped", -1)
|
|
||||||
collected = true
|
|
||||||
else:
|
else:
|
||||||
emit_signal("open_board")
|
animation_player.play("vanish")
|
||||||
hide()
|
|
||||||
|
|
||||||
|
func collect_memento():
|
||||||
|
Scenes.start_sequence(scene)
|
||||||
|
State.leave_stage(self)
|
||||||
|
if scene == Scenes.id.TRANSITION: vanish()
|
||||||
|
#get_tree().call_group("scene_actors", "play_scene", scene, collected)
|
||||||
|
if was_skipped: scene_skipped.emit(-1)
|
||||||
|
is_collected = true
|
||||||
|
|
||||||
func _on_skip_pressed():
|
func _on_skip_pressed():
|
||||||
print_debug("Scene skipped!")
|
print_debug("Scene skipped!")
|
||||||
if scene != null:
|
if scene != null:
|
||||||
emit_signal("scene_skipped", 1)
|
scene_skipped.emit(1)
|
||||||
skipped = true
|
was_skipped = true
|
||||||
$Panel/Content/Buttons/VBoxContainer/collect_or_listen.text = "collect (un-skip)"
|
$Panel/Content/Buttons/VBoxContainer/collect_or_listen.text = "collect (un-skip)"
|
||||||
|
|
||||||
State.leave_stage(self)
|
State.leave_stage(self)
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,241 +0,0 @@
|
||||||
class_name CollectableUi extends CenterContainer
|
|
||||||
|
|
||||||
@export var has_stage: bool = false:
|
|
||||||
set(focused):
|
|
||||||
if has_stage == focused: return
|
|
||||||
|
|
||||||
if focused:
|
|
||||||
has_stage = true
|
|
||||||
is_collapsed = false
|
|
||||||
if not visible: show()
|
|
||||||
else:
|
|
||||||
has_stage = false
|
|
||||||
get_viewport().gui_release_focus()
|
|
||||||
is_collapsed = true
|
|
||||||
|
|
||||||
#@export var collapsed = true:
|
|
||||||
# set(collapse):
|
|
||||||
# if is_inside_tree() and not Engine.is_editor_hint():
|
|
||||||
# if State.reduce_motion:
|
|
||||||
# collapsed = false
|
|
||||||
# return
|
|
||||||
# if collapse and not collapsed:
|
|
||||||
# if is_inside_tree():
|
|
||||||
# _hide_buttons()
|
|
||||||
# collapsed = collapse
|
|
||||||
# elif not collapse and collapsed:
|
|
||||||
# if is_inside_tree():
|
|
||||||
# _show_buttons()
|
|
||||||
# collapsed = collapse
|
|
||||||
#
|
|
||||||
# if collapse and has_stage: State.leave_stage(self)
|
|
||||||
|
|
||||||
@export var scene: Scenes.id = Scenes.id.YOUTH_DRAEVEN:
|
|
||||||
set(id):
|
|
||||||
scene = id
|
|
||||||
if is_inside_tree() and not is_board:
|
|
||||||
match id:
|
|
||||||
Scenes.id.YOUTH_DRAEVEN:
|
|
||||||
# FIXME: this explicit translation should not be nessecary
|
|
||||||
if title_override == "": title_label.text = TranslationServer.translate("Starlight")
|
|
||||||
if subtitle_override == "": cn_label.text = "[b]%s[/b]: %s" % [TranslationServer.translate("MementoLabel_CN"), TranslationServer.translate("MementoLabel_DraevenCN")]
|
|
||||||
Scenes.id.YOUTH_CHILDHOOD:
|
|
||||||
if title_override == "": title_label.text = TranslationServer.translate("crafted Mask")
|
|
||||||
if subtitle_override == "": cn_label.text = "[b]%s[/b]: %s" % [TranslationServer.translate("MementoLabel_CN"), TranslationServer.translate("MementoLabel_ChildhoodCN")]
|
|
||||||
Scenes.id.YOUTH_VOICE_TRAINING:
|
|
||||||
if title_override == "": title_label.text = TranslationServer.translate("Comic Stash")
|
|
||||||
if subtitle_override == "": cn_label.text = "[b]%s[/b]: %s" % [TranslationServer.translate("MementoLabel_CN"), TranslationServer.translate("MementoLabel_VoiceCN")]
|
|
||||||
Scenes.id.YOUTH_JUI_JUTSU:
|
|
||||||
if title_override == "": title_label.text = TranslationServer.translate("Sports Clothes")
|
|
||||||
if subtitle_override == "": cn_label.text = "[b]%s[/b]: %s" % [TranslationServer.translate("MementoLabel_CN"), TranslationServer.translate("MementoLabel_Jui_JutsuCN")]
|
|
||||||
Scenes.id.TRANSITION:
|
|
||||||
if title_override == "": title_label.text = TranslationServer.translate("Move on")
|
|
||||||
if subtitle_override == "": cn_label.text = ""
|
|
||||||
Scenes.id.ADULT_DND:
|
|
||||||
if title_override == "": title_label.text = TranslationServer.translate("colorful Dice")
|
|
||||||
if subtitle_override == "": cn_label.text = ""
|
|
||||||
Scenes.id.ADULT_VOLUNTARY:
|
|
||||||
if title_override == "": title_label.text = TranslationServer.translate("Gemstone Art")
|
|
||||||
if subtitle_override == "": cn_label.text = ""
|
|
||||||
Scenes.id.ADULT_CHRISTMAS:
|
|
||||||
if title_override == "": title_label.text = TranslationServer.translate("Chat Messages")
|
|
||||||
if subtitle_override == "": cn_label.text = ""
|
|
||||||
Scenes.id.ADULT_EATING:
|
|
||||||
if title_override == "": title_label.text = TranslationServer.translate("Dishes")
|
|
||||||
if subtitle_override == "": cn_label.text = ""
|
|
||||||
Scenes.id.ADULT_UNI:
|
|
||||||
if title_override == "": title_label.text = TranslationServer.translate("Science Poster")
|
|
||||||
if subtitle_override == "": cn_label.text = ""
|
|
||||||
Scenes.id.ADULT_THERAPY:
|
|
||||||
if title_override == "": title_label.text = TranslationServer.translate("Doctors Note")
|
|
||||||
if subtitle_override == "": cn_label.text = ""
|
|
||||||
Scenes.id.ADULT_BURNOUT:
|
|
||||||
if title_override == "": title_label.text = TranslationServer.translate("Paperwork")
|
|
||||||
if subtitle_override == "": cn_label.text = ""
|
|
||||||
|
|
||||||
if not Engine.is_editor_hint():
|
|
||||||
is_collected = Scenes.is_sequence_repeating(scene)
|
|
||||||
@export var is_collected: bool = false:
|
|
||||||
set(value):
|
|
||||||
is_collected = value
|
|
||||||
if is_inside_tree():
|
|
||||||
collected_box.button_pressed = value
|
|
||||||
if is_collected and not is_board:
|
|
||||||
%CollectLabel.text = "listen again"
|
|
||||||
else:
|
|
||||||
if not is_board:
|
|
||||||
%CollectLabel.text = "MementoLabel_collect"
|
|
||||||
else:
|
|
||||||
%CollectLabel.text = "find connections"
|
|
||||||
@onready var collected_box: CheckBox = %CheckBox
|
|
||||||
@export var title_override: String = "":
|
|
||||||
set(value):
|
|
||||||
title_override = value
|
|
||||||
if is_inside_tree() and not is_board:
|
|
||||||
title_label.text = value
|
|
||||||
@onready var title_label: Label = %TitleLabel
|
|
||||||
@export var subtitle_override: String = "":
|
|
||||||
set(value):
|
|
||||||
subtitle_override = value
|
|
||||||
if is_inside_tree() and not is_board:
|
|
||||||
cn_label.text = value
|
|
||||||
@onready var cn_label: RichTextLabel = %ContentNoteLabel
|
|
||||||
@onready var animation_player: AnimationPlayer = %AnimationPlayer
|
|
||||||
|
|
||||||
@export var is_collapsed: bool = true
|
|
||||||
@export var is_expanded: bool = false:
|
|
||||||
set(expanded):
|
|
||||||
if expanded != is_expanded:
|
|
||||||
is_expanded = expanded
|
|
||||||
if is_inside_tree():
|
|
||||||
animation_player.play("expand")
|
|
||||||
await animation_player.animation_finished
|
|
||||||
for button:Button in [%ReadStory, %CollectButton, %SummaryButton, %SkipButton]:
|
|
||||||
if button.visible:
|
|
||||||
button.grab_focus()
|
|
||||||
return
|
|
||||||
@export var was_skipped: bool = false
|
|
||||||
|
|
||||||
@export var is_board:bool = false:
|
|
||||||
set(board):
|
|
||||||
is_board = board
|
|
||||||
if is_inside_tree():
|
|
||||||
if board:
|
|
||||||
if title_override == "": title_label.text = "Mind Board"
|
|
||||||
collected_box.hide()
|
|
||||||
# Not room agnostic yet!
|
|
||||||
if not Engine.is_editor_hint():
|
|
||||||
match Scenes.get_completed_total():
|
|
||||||
1:
|
|
||||||
if subtitle_override == "": cn_label.text = "Find all three Mementos to collect all thoughts."
|
|
||||||
2:
|
|
||||||
if subtitle_override == "": cn_label.text = "Find two more Mementos to get all cards."
|
|
||||||
3:
|
|
||||||
if subtitle_override == "": cn_label.text = "Find the last remaining Memento."
|
|
||||||
4:
|
|
||||||
if subtitle_override == "": cn_label.text = "Use this to find a Frame of Mind."
|
|
||||||
else:
|
|
||||||
scene = scene
|
|
||||||
collected_box.show()
|
|
||||||
@export var is_exit:bool = false:
|
|
||||||
set(exit):
|
|
||||||
is_exit = exit
|
|
||||||
if is_inside_tree():
|
|
||||||
if exit:
|
|
||||||
if title_override == "": title_label.text = "Move on"
|
|
||||||
if subtitle_override == "": %CollectLabel.text = "Leave room"
|
|
||||||
collected_box.hide()
|
|
||||||
else:
|
|
||||||
scene = scene
|
|
||||||
collected_box.show()
|
|
||||||
|
|
||||||
|
|
||||||
signal open_board
|
|
||||||
signal exit_room
|
|
||||||
|
|
||||||
#TODO implement proper scene skipping
|
|
||||||
signal scene_skipped(i: int)
|
|
||||||
|
|
||||||
func _ready() -> void:
|
|
||||||
State.settings_changed.connect(_on_context_updated)
|
|
||||||
%CollectButton.pressed.connect(collect_memento)
|
|
||||||
##TODO: add functions for remaining buttons
|
|
||||||
|
|
||||||
update_state()
|
|
||||||
|
|
||||||
func _on_context_updated():
|
|
||||||
%SkipButton.visible = State.allow_skipping
|
|
||||||
%SummaryButton.visible = State.provide_summaries
|
|
||||||
%ReadStory.visible = is_collected
|
|
||||||
%OptionPrompt.visible = State.allow_skipping or State.provide_summaries or is_collected and not is_board
|
|
||||||
%OptionsLabel.visible = State.allow_skipping or State.provide_summaries or is_collected and not is_board
|
|
||||||
cn_label.visible = true if State.show_content_notes else false
|
|
||||||
|
|
||||||
func update_state():
|
|
||||||
scene = scene
|
|
||||||
is_board = is_board
|
|
||||||
is_exit = is_exit
|
|
||||||
_on_context_updated()
|
|
||||||
|
|
||||||
func try_reveal() -> bool:
|
|
||||||
#if is_exit and not State.active_save_game.is_childhood_board_complete: return false
|
|
||||||
#if not is_board:
|
|
||||||
# if (not Scenes.is_sequence_unlocked( self.scene )) or false: #FIXME only for testing!!!
|
|
||||||
# return false
|
|
||||||
if not visible or animation_player.get_animation("vanish") or animation_player.get_animation("vanish_all"):
|
|
||||||
update_state()
|
|
||||||
visible = true
|
|
||||||
animation_player.play("reveal")
|
|
||||||
return true
|
|
||||||
return false
|
|
||||||
|
|
||||||
#func _process(_delta: float) -> void:
|
|
||||||
# if not visible or Engine.is_editor_hint(): return
|
|
||||||
# if Input.is_action_just_pressed("collect_memento_ui"):
|
|
||||||
# if not is_board:
|
|
||||||
# collect_memento()
|
|
||||||
# else:
|
|
||||||
# open_board.emit()
|
|
||||||
# elif Input.is_action_just_pressed("option_memento_ui"):
|
|
||||||
# is_expanded = true
|
|
||||||
|
|
||||||
#FIXME something was eating all my inputs, maybe I can use the more pretty pattern when I figure out the culprit
|
|
||||||
func _input(event: InputEvent) -> void:
|
|
||||||
if not visible: return
|
|
||||||
if event.is_action_pressed("collect_memento_ui"):
|
|
||||||
if not is_board:
|
|
||||||
collect_memento()
|
|
||||||
get_viewport().set_input_as_handled()
|
|
||||||
else:
|
|
||||||
if is_board:
|
|
||||||
open_board.emit()
|
|
||||||
if is_exit:
|
|
||||||
exit_room.emit()
|
|
||||||
elif event.is_action_pressed("option_memento_ui"):
|
|
||||||
is_expanded = true
|
|
||||||
get_viewport().set_input_as_handled()
|
|
||||||
|
|
||||||
func vanish():
|
|
||||||
if not visible: return
|
|
||||||
|
|
||||||
if is_expanded:
|
|
||||||
animation_player.play("vanish_all")
|
|
||||||
else:
|
|
||||||
animation_player.play("vanish")
|
|
||||||
|
|
||||||
func collect_memento():
|
|
||||||
Scenes.start_sequence(scene)
|
|
||||||
State.leave_stage(self)
|
|
||||||
if scene == Scenes.id.TRANSITION: vanish()
|
|
||||||
#get_tree().call_group("scene_actors", "play_scene", scene, collected)
|
|
||||||
if was_skipped: scene_skipped.emit(-1)
|
|
||||||
is_collected = true
|
|
||||||
|
|
||||||
func _on_skip_pressed():
|
|
||||||
print_debug("Scene skipped!")
|
|
||||||
if scene != null:
|
|
||||||
scene_skipped.emit(1)
|
|
||||||
was_skipped = true
|
|
||||||
$Panel/Content/Buttons/VBoxContainer/collect_or_listen.text = "collect (un-skip)"
|
|
||||||
|
|
||||||
State.leave_stage(self)
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
uid://ct2503epxj4av
|
|
||||||
|
|
@ -1,984 +0,0 @@
|
||||||
[gd_scene load_steps=18 format=3 uid="uid://wfyna16xhlo0"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://ct2503epxj4av" path="res://logic-scenes/collectable/new_collectable_ui.gd" id="1_fk5x4"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://epjksqlw8frf" path="res://logic-scenes/collectable/decorative_paper.png" id="1_g0dpf"]
|
|
||||||
[ext_resource type="Script" uid="uid://bbs1u7ojno7xo" path="res://addons/input_prompts/action_prompt/action_prompt.gd" id="2_2apub"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://b7breoabkyifr" path="res://addons/input_prompts/icons/xbox/A.png" id="3_g0dpf"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://615hvpuiacvm" path="res://addons/input_prompts/icons/xbox/X.png" id="5_fk5x4"]
|
|
||||||
|
|
||||||
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_fk5x4"]
|
|
||||||
device = -1
|
|
||||||
button_index = 1
|
|
||||||
|
|
||||||
[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_8vhsk"]
|
|
||||||
device = -1
|
|
||||||
|
|
||||||
[sub_resource type="InputEventKey" id="InputEventKey_t7f8v"]
|
|
||||||
device = -1
|
|
||||||
physical_keycode = 4194309
|
|
||||||
|
|
||||||
[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_6fedj"]
|
|
||||||
device = -1
|
|
||||||
button_index = 2
|
|
||||||
|
|
||||||
[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_bnbqn"]
|
|
||||||
device = -1
|
|
||||||
button_index = 2
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_8vhsk"]
|
|
||||||
length = 0.001
|
|
||||||
tracks/0/type = "value"
|
|
||||||
tracks/0/imported = false
|
|
||||||
tracks/0/enabled = true
|
|
||||||
tracks/0/path = NodePath("VBoxContainer/HSplitContainer:modulate")
|
|
||||||
tracks/0/interp = 1
|
|
||||||
tracks/0/loop_wrap = true
|
|
||||||
tracks/0/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 1)]
|
|
||||||
}
|
|
||||||
tracks/1/type = "value"
|
|
||||||
tracks/1/imported = false
|
|
||||||
tracks/1/enabled = true
|
|
||||||
tracks/1/path = NodePath("DecorativePaper:modulate")
|
|
||||||
tracks/1/interp = 1
|
|
||||||
tracks/1/loop_wrap = true
|
|
||||||
tracks/1/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 1)]
|
|
||||||
}
|
|
||||||
tracks/2/type = "value"
|
|
||||||
tracks/2/imported = false
|
|
||||||
tracks/2/enabled = true
|
|
||||||
tracks/2/path = NodePath("DecorativePaper:position")
|
|
||||||
tracks/2/interp = 1
|
|
||||||
tracks/2/loop_wrap = true
|
|
||||||
tracks/2/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(201, 179)]
|
|
||||||
}
|
|
||||||
tracks/3/type = "value"
|
|
||||||
tracks/3/imported = false
|
|
||||||
tracks/3/enabled = true
|
|
||||||
tracks/3/path = NodePath("DecorativePaper:scale")
|
|
||||||
tracks/3/interp = 1
|
|
||||||
tracks/3/loop_wrap = true
|
|
||||||
tracks/3/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(0.570658, 0.570658)]
|
|
||||||
}
|
|
||||||
tracks/4/type = "value"
|
|
||||||
tracks/4/imported = false
|
|
||||||
tracks/4/enabled = true
|
|
||||||
tracks/4/path = NodePath("DecorativePaper:rotation")
|
|
||||||
tracks/4/interp = 4
|
|
||||||
tracks/4/loop_wrap = true
|
|
||||||
tracks/4/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [0.0]
|
|
||||||
}
|
|
||||||
tracks/5/type = "value"
|
|
||||||
tracks/5/imported = false
|
|
||||||
tracks/5/enabled = true
|
|
||||||
tracks/5/path = NodePath("VBoxContainer/HBoxContainer:modulate")
|
|
||||||
tracks/5/interp = 1
|
|
||||||
tracks/5/loop_wrap = true
|
|
||||||
tracks/5/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 1)]
|
|
||||||
}
|
|
||||||
tracks/6/type = "value"
|
|
||||||
tracks/6/imported = false
|
|
||||||
tracks/6/enabled = true
|
|
||||||
tracks/6/path = NodePath("VBoxContainer2:modulate")
|
|
||||||
tracks/6/interp = 1
|
|
||||||
tracks/6/loop_wrap = true
|
|
||||||
tracks/6/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 1)]
|
|
||||||
}
|
|
||||||
tracks/7/type = "value"
|
|
||||||
tracks/7/imported = false
|
|
||||||
tracks/7/enabled = true
|
|
||||||
tracks/7/path = NodePath("DecorativePaper2:position")
|
|
||||||
tracks/7/interp = 1
|
|
||||||
tracks/7/loop_wrap = true
|
|
||||||
tracks/7/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(200.373, 236.593)]
|
|
||||||
}
|
|
||||||
tracks/8/type = "value"
|
|
||||||
tracks/8/imported = false
|
|
||||||
tracks/8/enabled = true
|
|
||||||
tracks/8/path = NodePath("DecorativePaper2:scale")
|
|
||||||
tracks/8/interp = 1
|
|
||||||
tracks/8/loop_wrap = true
|
|
||||||
tracks/8/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(0.325643, 0.76646)]
|
|
||||||
}
|
|
||||||
tracks/9/type = "value"
|
|
||||||
tracks/9/imported = false
|
|
||||||
tracks/9/enabled = true
|
|
||||||
tracks/9/path = NodePath("DecorativePaper2:modulate")
|
|
||||||
tracks/9/interp = 1
|
|
||||||
tracks/9/loop_wrap = true
|
|
||||||
tracks/9/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 1)]
|
|
||||||
}
|
|
||||||
tracks/10/type = "value"
|
|
||||||
tracks/10/imported = false
|
|
||||||
tracks/10/enabled = true
|
|
||||||
tracks/10/path = NodePath("VBoxContainer/ContentNoteLabel:self_modulate")
|
|
||||||
tracks/10/interp = 1
|
|
||||||
tracks/10/loop_wrap = true
|
|
||||||
tracks/10/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 1)]
|
|
||||||
}
|
|
||||||
tracks/11/type = "value"
|
|
||||||
tracks/11/imported = false
|
|
||||||
tracks/11/enabled = true
|
|
||||||
tracks/11/path = NodePath(".:visible")
|
|
||||||
tracks/11/interp = 1
|
|
||||||
tracks/11/loop_wrap = true
|
|
||||||
tracks/11/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [true]
|
|
||||||
}
|
|
||||||
tracks/12/type = "value"
|
|
||||||
tracks/12/imported = false
|
|
||||||
tracks/12/enabled = true
|
|
||||||
tracks/12/path = NodePath("VBoxContainer2:visible")
|
|
||||||
tracks/12/interp = 1
|
|
||||||
tracks/12/loop_wrap = true
|
|
||||||
tracks/12/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false]
|
|
||||||
}
|
|
||||||
tracks/13/type = "value"
|
|
||||||
tracks/13/imported = false
|
|
||||||
tracks/13/enabled = true
|
|
||||||
tracks/13/path = NodePath("DecorativePaper2:visible")
|
|
||||||
tracks/13/interp = 1
|
|
||||||
tracks/13/loop_wrap = true
|
|
||||||
tracks/13/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false]
|
|
||||||
}
|
|
||||||
tracks/14/type = "value"
|
|
||||||
tracks/14/imported = false
|
|
||||||
tracks/14/enabled = true
|
|
||||||
tracks/14/path = NodePath("VBoxContainer2/HSeparator:custom_minimum_size")
|
|
||||||
tracks/14/interp = 1
|
|
||||||
tracks/14/loop_wrap = true
|
|
||||||
tracks/14/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(0, 50)]
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_t7f8v"]
|
|
||||||
resource_name = "expand"
|
|
||||||
length = 0.2
|
|
||||||
tracks/0/type = "value"
|
|
||||||
tracks/0/imported = false
|
|
||||||
tracks/0/enabled = true
|
|
||||||
tracks/0/path = NodePath("VBoxContainer2:modulate")
|
|
||||||
tracks/0/interp = 1
|
|
||||||
tracks/0/loop_wrap = true
|
|
||||||
tracks/0/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.2),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
|
||||||
}
|
|
||||||
tracks/1/type = "value"
|
|
||||||
tracks/1/imported = false
|
|
||||||
tracks/1/enabled = true
|
|
||||||
tracks/1/path = NodePath("DecorativePaper2:position")
|
|
||||||
tracks/1/interp = 1
|
|
||||||
tracks/1/loop_wrap = true
|
|
||||||
tracks/1/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.2),
|
|
||||||
"transitions": PackedFloat32Array(0.225313, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(210.221, 236.593), Vector2(200.373, 236.593)]
|
|
||||||
}
|
|
||||||
tracks/2/type = "value"
|
|
||||||
tracks/2/imported = false
|
|
||||||
tracks/2/enabled = true
|
|
||||||
tracks/2/path = NodePath("DecorativePaper2:scale")
|
|
||||||
tracks/2/interp = 1
|
|
||||||
tracks/2/loop_wrap = true
|
|
||||||
tracks/2/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.2),
|
|
||||||
"transitions": PackedFloat32Array(0.225313, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(0.291, 0.452), Vector2(0.326, 0.721)]
|
|
||||||
}
|
|
||||||
tracks/3/type = "value"
|
|
||||||
tracks/3/imported = false
|
|
||||||
tracks/3/enabled = true
|
|
||||||
tracks/3/path = NodePath("DecorativePaper2:modulate")
|
|
||||||
tracks/3/interp = 1
|
|
||||||
tracks/3/loop_wrap = true
|
|
||||||
tracks/3/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.08),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
|
||||||
}
|
|
||||||
tracks/4/type = "value"
|
|
||||||
tracks/4/imported = false
|
|
||||||
tracks/4/enabled = true
|
|
||||||
tracks/4/path = NodePath("DecorativePaper2:visible")
|
|
||||||
tracks/4/interp = 1
|
|
||||||
tracks/4/loop_wrap = true
|
|
||||||
tracks/4/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [true]
|
|
||||||
}
|
|
||||||
tracks/5/type = "value"
|
|
||||||
tracks/5/imported = false
|
|
||||||
tracks/5/enabled = true
|
|
||||||
tracks/5/path = NodePath("VBoxContainer2:visible")
|
|
||||||
tracks/5/interp = 1
|
|
||||||
tracks/5/loop_wrap = true
|
|
||||||
tracks/5/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [true]
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_bnbqn"]
|
|
||||||
resource_name = "init"
|
|
||||||
length = 0.001
|
|
||||||
tracks/0/type = "value"
|
|
||||||
tracks/0/imported = false
|
|
||||||
tracks/0/enabled = true
|
|
||||||
tracks/0/path = NodePath("VBoxContainer/HSplitContainer:modulate")
|
|
||||||
tracks/0/interp = 1
|
|
||||||
tracks/0/loop_wrap = true
|
|
||||||
tracks/0/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 0)]
|
|
||||||
}
|
|
||||||
tracks/1/type = "value"
|
|
||||||
tracks/1/imported = false
|
|
||||||
tracks/1/enabled = true
|
|
||||||
tracks/1/path = NodePath("DecorativePaper:modulate")
|
|
||||||
tracks/1/interp = 1
|
|
||||||
tracks/1/loop_wrap = true
|
|
||||||
tracks/1/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 0)]
|
|
||||||
}
|
|
||||||
tracks/2/type = "value"
|
|
||||||
tracks/2/imported = false
|
|
||||||
tracks/2/enabled = true
|
|
||||||
tracks/2/path = NodePath("DecorativePaper:position")
|
|
||||||
tracks/2/interp = 1
|
|
||||||
tracks/2/loop_wrap = true
|
|
||||||
tracks/2/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(201, 179)]
|
|
||||||
}
|
|
||||||
tracks/3/type = "value"
|
|
||||||
tracks/3/imported = false
|
|
||||||
tracks/3/enabled = true
|
|
||||||
tracks/3/path = NodePath("DecorativePaper:scale")
|
|
||||||
tracks/3/interp = 1
|
|
||||||
tracks/3/loop_wrap = true
|
|
||||||
tracks/3/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(0.570658, 0.570658)]
|
|
||||||
}
|
|
||||||
tracks/4/type = "value"
|
|
||||||
tracks/4/imported = false
|
|
||||||
tracks/4/enabled = true
|
|
||||||
tracks/4/path = NodePath("DecorativePaper:rotation")
|
|
||||||
tracks/4/interp = 4
|
|
||||||
tracks/4/loop_wrap = true
|
|
||||||
tracks/4/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [0.0]
|
|
||||||
}
|
|
||||||
tracks/5/type = "value"
|
|
||||||
tracks/5/imported = false
|
|
||||||
tracks/5/enabled = true
|
|
||||||
tracks/5/path = NodePath("VBoxContainer/HBoxContainer:modulate")
|
|
||||||
tracks/5/interp = 1
|
|
||||||
tracks/5/loop_wrap = true
|
|
||||||
tracks/5/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 0)]
|
|
||||||
}
|
|
||||||
tracks/6/type = "value"
|
|
||||||
tracks/6/imported = false
|
|
||||||
tracks/6/enabled = true
|
|
||||||
tracks/6/path = NodePath("VBoxContainer2:modulate")
|
|
||||||
tracks/6/interp = 1
|
|
||||||
tracks/6/loop_wrap = true
|
|
||||||
tracks/6/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 0)]
|
|
||||||
}
|
|
||||||
tracks/7/type = "value"
|
|
||||||
tracks/7/imported = false
|
|
||||||
tracks/7/enabled = true
|
|
||||||
tracks/7/path = NodePath("DecorativePaper2:position")
|
|
||||||
tracks/7/interp = 1
|
|
||||||
tracks/7/loop_wrap = true
|
|
||||||
tracks/7/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(200.373, 236.593)]
|
|
||||||
}
|
|
||||||
tracks/8/type = "value"
|
|
||||||
tracks/8/imported = false
|
|
||||||
tracks/8/enabled = true
|
|
||||||
tracks/8/path = NodePath("DecorativePaper2:scale")
|
|
||||||
tracks/8/interp = 1
|
|
||||||
tracks/8/loop_wrap = true
|
|
||||||
tracks/8/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(0.325643, 0.76646)]
|
|
||||||
}
|
|
||||||
tracks/9/type = "value"
|
|
||||||
tracks/9/imported = false
|
|
||||||
tracks/9/enabled = true
|
|
||||||
tracks/9/path = NodePath("DecorativePaper2:modulate")
|
|
||||||
tracks/9/interp = 1
|
|
||||||
tracks/9/loop_wrap = true
|
|
||||||
tracks/9/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 0)]
|
|
||||||
}
|
|
||||||
tracks/10/type = "value"
|
|
||||||
tracks/10/imported = false
|
|
||||||
tracks/10/enabled = true
|
|
||||||
tracks/10/path = NodePath("VBoxContainer/ContentNoteLabel:self_modulate")
|
|
||||||
tracks/10/interp = 1
|
|
||||||
tracks/10/loop_wrap = true
|
|
||||||
tracks/10/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 0)]
|
|
||||||
}
|
|
||||||
tracks/11/type = "value"
|
|
||||||
tracks/11/imported = false
|
|
||||||
tracks/11/enabled = true
|
|
||||||
tracks/11/path = NodePath("DecorativePaper2:visible")
|
|
||||||
tracks/11/interp = 1
|
|
||||||
tracks/11/loop_wrap = true
|
|
||||||
tracks/11/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false]
|
|
||||||
}
|
|
||||||
tracks/12/type = "value"
|
|
||||||
tracks/12/imported = false
|
|
||||||
tracks/12/enabled = true
|
|
||||||
tracks/12/path = NodePath("VBoxContainer2:visible")
|
|
||||||
tracks/12/interp = 1
|
|
||||||
tracks/12/loop_wrap = true
|
|
||||||
tracks/12/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false]
|
|
||||||
}
|
|
||||||
tracks/13/type = "value"
|
|
||||||
tracks/13/imported = false
|
|
||||||
tracks/13/enabled = true
|
|
||||||
tracks/13/path = NodePath(".:visible")
|
|
||||||
tracks/13/interp = 1
|
|
||||||
tracks/13/loop_wrap = true
|
|
||||||
tracks/13/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false]
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_fk5x4"]
|
|
||||||
resource_name = "reveal"
|
|
||||||
length = 0.6
|
|
||||||
tracks/0/type = "value"
|
|
||||||
tracks/0/imported = false
|
|
||||||
tracks/0/enabled = true
|
|
||||||
tracks/0/path = NodePath("VBoxContainer/HSplitContainer:modulate")
|
|
||||||
tracks/0/interp = 1
|
|
||||||
tracks/0/loop_wrap = true
|
|
||||||
tracks/0/keys = {
|
|
||||||
"times": PackedFloat32Array(0.233333, 0.5),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
|
||||||
}
|
|
||||||
tracks/1/type = "value"
|
|
||||||
tracks/1/imported = false
|
|
||||||
tracks/1/enabled = true
|
|
||||||
tracks/1/path = NodePath("DecorativePaper:modulate")
|
|
||||||
tracks/1/interp = 1
|
|
||||||
tracks/1/loop_wrap = true
|
|
||||||
tracks/1/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.3),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
|
||||||
}
|
|
||||||
tracks/2/type = "value"
|
|
||||||
tracks/2/imported = false
|
|
||||||
tracks/2/enabled = true
|
|
||||||
tracks/2/path = NodePath("DecorativePaper:position")
|
|
||||||
tracks/2/interp = 1
|
|
||||||
tracks/2/loop_wrap = true
|
|
||||||
tracks/2/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.466667),
|
|
||||||
"transitions": PackedFloat32Array(0.129408, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(201, 300), Vector2(201, 190.91)]
|
|
||||||
}
|
|
||||||
tracks/3/type = "value"
|
|
||||||
tracks/3/imported = false
|
|
||||||
tracks/3/enabled = true
|
|
||||||
tracks/3/path = NodePath("DecorativePaper:scale")
|
|
||||||
tracks/3/interp = 1
|
|
||||||
tracks/3/loop_wrap = true
|
|
||||||
tracks/3/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.466667),
|
|
||||||
"transitions": PackedFloat32Array(0.450625, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(0.341, 0.381), Vector2(0.570658, 0.570658)]
|
|
||||||
}
|
|
||||||
tracks/4/type = "value"
|
|
||||||
tracks/4/imported = false
|
|
||||||
tracks/4/enabled = true
|
|
||||||
tracks/4/path = NodePath("DecorativePaper:rotation")
|
|
||||||
tracks/4/interp = 4
|
|
||||||
tracks/4/loop_wrap = true
|
|
||||||
tracks/4/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.333333),
|
|
||||||
"transitions": PackedFloat32Array(0.450625, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [1.5708, 0.0]
|
|
||||||
}
|
|
||||||
tracks/5/type = "value"
|
|
||||||
tracks/5/imported = false
|
|
||||||
tracks/5/enabled = true
|
|
||||||
tracks/5/path = NodePath("VBoxContainer/HBoxContainer:modulate")
|
|
||||||
tracks/5/interp = 1
|
|
||||||
tracks/5/loop_wrap = true
|
|
||||||
tracks/5/keys = {
|
|
||||||
"times": PackedFloat32Array(0.166667, 0.366667),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
|
||||||
}
|
|
||||||
tracks/6/type = "value"
|
|
||||||
tracks/6/imported = false
|
|
||||||
tracks/6/enabled = true
|
|
||||||
tracks/6/path = NodePath(".:visible")
|
|
||||||
tracks/6/interp = 1
|
|
||||||
tracks/6/loop_wrap = true
|
|
||||||
tracks/6/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.6),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [true, true]
|
|
||||||
}
|
|
||||||
tracks/7/type = "value"
|
|
||||||
tracks/7/imported = false
|
|
||||||
tracks/7/enabled = true
|
|
||||||
tracks/7/path = NodePath("VBoxContainer/ContentNoteLabel:self_modulate")
|
|
||||||
tracks/7/interp = 1
|
|
||||||
tracks/7/loop_wrap = true
|
|
||||||
tracks/7/keys = {
|
|
||||||
"times": PackedFloat32Array(0.34, 0.6),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_6fedj"]
|
|
||||||
resource_name = "vanish"
|
|
||||||
tracks/0/type = "value"
|
|
||||||
tracks/0/imported = false
|
|
||||||
tracks/0/enabled = true
|
|
||||||
tracks/0/path = NodePath("VBoxContainer/HSplitContainer:modulate")
|
|
||||||
tracks/0/interp = 1
|
|
||||||
tracks/0/loop_wrap = true
|
|
||||||
tracks/0/keys = {
|
|
||||||
"times": PackedFloat32Array(0.1, 0.366667),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
|
||||||
}
|
|
||||||
tracks/1/type = "value"
|
|
||||||
tracks/1/imported = false
|
|
||||||
tracks/1/enabled = true
|
|
||||||
tracks/1/path = NodePath("DecorativePaper:modulate")
|
|
||||||
tracks/1/interp = 1
|
|
||||||
tracks/1/loop_wrap = true
|
|
||||||
tracks/1/keys = {
|
|
||||||
"times": PackedFloat32Array(0.366667, 0.9),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
|
||||||
}
|
|
||||||
tracks/2/type = "value"
|
|
||||||
tracks/2/imported = false
|
|
||||||
tracks/2/enabled = true
|
|
||||||
tracks/2/path = NodePath("DecorativePaper:position")
|
|
||||||
tracks/2/interp = 1
|
|
||||||
tracks/2/loop_wrap = true
|
|
||||||
tracks/2/keys = {
|
|
||||||
"times": PackedFloat32Array(0.0333333, 0.833333),
|
|
||||||
"transitions": PackedFloat32Array(6.49802, 0.129408),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(201, 190.91), Vector2(201, 400)]
|
|
||||||
}
|
|
||||||
tracks/3/type = "value"
|
|
||||||
tracks/3/imported = false
|
|
||||||
tracks/3/enabled = true
|
|
||||||
tracks/3/path = NodePath("DecorativePaper:scale")
|
|
||||||
tracks/3/interp = 1
|
|
||||||
tracks/3/loop_wrap = true
|
|
||||||
tracks/3/keys = {
|
|
||||||
"times": PackedFloat32Array(0.333333, 0.833333),
|
|
||||||
"transitions": PackedFloat32Array(2.92817, 0.450625),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(0.570658, 0.570658), Vector2(0.341, 0.381)]
|
|
||||||
}
|
|
||||||
tracks/4/type = "value"
|
|
||||||
tracks/4/imported = false
|
|
||||||
tracks/4/enabled = true
|
|
||||||
tracks/4/path = NodePath("DecorativePaper:rotation")
|
|
||||||
tracks/4/interp = 4
|
|
||||||
tracks/4/loop_wrap = true
|
|
||||||
tracks/4/keys = {
|
|
||||||
"times": PackedFloat32Array(0.166667, 0.5, 1),
|
|
||||||
"transitions": PackedFloat32Array(1, 0.378929, 0.450625),
|
|
||||||
"update": 0,
|
|
||||||
"values": [0.0, -0.198968, 1.5708]
|
|
||||||
}
|
|
||||||
tracks/5/type = "value"
|
|
||||||
tracks/5/imported = false
|
|
||||||
tracks/5/enabled = true
|
|
||||||
tracks/5/path = NodePath("VBoxContainer/HBoxContainer:modulate")
|
|
||||||
tracks/5/interp = 1
|
|
||||||
tracks/5/loop_wrap = true
|
|
||||||
tracks/5/keys = {
|
|
||||||
"times": PackedFloat32Array(0.0333333, 0.2),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
|
||||||
}
|
|
||||||
tracks/6/type = "value"
|
|
||||||
tracks/6/imported = false
|
|
||||||
tracks/6/enabled = true
|
|
||||||
tracks/6/path = NodePath(".:visible")
|
|
||||||
tracks/6/interp = 1
|
|
||||||
tracks/6/loop_wrap = true
|
|
||||||
tracks/6/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 1),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [true, false]
|
|
||||||
}
|
|
||||||
tracks/7/type = "value"
|
|
||||||
tracks/7/imported = false
|
|
||||||
tracks/7/enabled = true
|
|
||||||
tracks/7/path = NodePath("VBoxContainer/ContentNoteLabel:self_modulate")
|
|
||||||
tracks/7/interp = 1
|
|
||||||
tracks/7/loop_wrap = true
|
|
||||||
tracks/7/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.28),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_jtrhv"]
|
|
||||||
resource_name = "vanish_all"
|
|
||||||
length = 0.8
|
|
||||||
tracks/0/type = "value"
|
|
||||||
tracks/0/imported = false
|
|
||||||
tracks/0/enabled = true
|
|
||||||
tracks/0/path = NodePath("VBoxContainer/HSplitContainer:modulate")
|
|
||||||
tracks/0/interp = 1
|
|
||||||
tracks/0/loop_wrap = true
|
|
||||||
tracks/0/keys = {
|
|
||||||
"times": PackedFloat32Array(0.1, 0.366667),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
|
||||||
}
|
|
||||||
tracks/1/type = "value"
|
|
||||||
tracks/1/imported = false
|
|
||||||
tracks/1/enabled = true
|
|
||||||
tracks/1/path = NodePath("DecorativePaper:modulate")
|
|
||||||
tracks/1/interp = 1
|
|
||||||
tracks/1/loop_wrap = true
|
|
||||||
tracks/1/keys = {
|
|
||||||
"times": PackedFloat32Array(0.366667, 0.833333),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
|
||||||
}
|
|
||||||
tracks/2/type = "value"
|
|
||||||
tracks/2/imported = false
|
|
||||||
tracks/2/enabled = true
|
|
||||||
tracks/2/path = NodePath("DecorativePaper:position")
|
|
||||||
tracks/2/interp = 1
|
|
||||||
tracks/2/loop_wrap = true
|
|
||||||
tracks/2/keys = {
|
|
||||||
"times": PackedFloat32Array(0.0333333, 0.8),
|
|
||||||
"transitions": PackedFloat32Array(6.49802, 0.129408),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(201, 190.91), Vector2(201, 400)]
|
|
||||||
}
|
|
||||||
tracks/3/type = "value"
|
|
||||||
tracks/3/imported = false
|
|
||||||
tracks/3/enabled = true
|
|
||||||
tracks/3/path = NodePath("DecorativePaper:scale")
|
|
||||||
tracks/3/interp = 1
|
|
||||||
tracks/3/loop_wrap = true
|
|
||||||
tracks/3/keys = {
|
|
||||||
"times": PackedFloat32Array(0.333333, 0.8),
|
|
||||||
"transitions": PackedFloat32Array(2.92817, 0.450625),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(0.570658, 0.570658), Vector2(0.341, 0.381)]
|
|
||||||
}
|
|
||||||
tracks/4/type = "value"
|
|
||||||
tracks/4/imported = false
|
|
||||||
tracks/4/enabled = true
|
|
||||||
tracks/4/path = NodePath("DecorativePaper:rotation")
|
|
||||||
tracks/4/interp = 4
|
|
||||||
tracks/4/loop_wrap = true
|
|
||||||
tracks/4/keys = {
|
|
||||||
"times": PackedFloat32Array(0.0666667, 0.433333, 0.8),
|
|
||||||
"transitions": PackedFloat32Array(1, 0.378929, 0.450625),
|
|
||||||
"update": 0,
|
|
||||||
"values": [0.0, -0.198968, 1.5708]
|
|
||||||
}
|
|
||||||
tracks/5/type = "value"
|
|
||||||
tracks/5/imported = false
|
|
||||||
tracks/5/enabled = true
|
|
||||||
tracks/5/path = NodePath("VBoxContainer/HBoxContainer:modulate")
|
|
||||||
tracks/5/interp = 1
|
|
||||||
tracks/5/loop_wrap = true
|
|
||||||
tracks/5/keys = {
|
|
||||||
"times": PackedFloat32Array(0.0333333, 0.2),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
|
||||||
}
|
|
||||||
tracks/6/type = "value"
|
|
||||||
tracks/6/imported = false
|
|
||||||
tracks/6/enabled = true
|
|
||||||
tracks/6/path = NodePath(".:visible")
|
|
||||||
tracks/6/interp = 1
|
|
||||||
tracks/6/loop_wrap = true
|
|
||||||
tracks/6/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.8),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [true, false]
|
|
||||||
}
|
|
||||||
tracks/7/type = "value"
|
|
||||||
tracks/7/imported = false
|
|
||||||
tracks/7/enabled = true
|
|
||||||
tracks/7/path = NodePath("VBoxContainer2/HSeparator:custom_minimum_size")
|
|
||||||
tracks/7/interp = 1
|
|
||||||
tracks/7/loop_wrap = true
|
|
||||||
tracks/7/keys = {
|
|
||||||
"times": PackedFloat32Array(0.5, 0.8),
|
|
||||||
"transitions": PackedFloat32Array(0.353553, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(0, 123.06), Vector2(0, 50)]
|
|
||||||
}
|
|
||||||
tracks/8/type = "value"
|
|
||||||
tracks/8/imported = false
|
|
||||||
tracks/8/enabled = true
|
|
||||||
tracks/8/path = NodePath("DecorativePaper2:position")
|
|
||||||
tracks/8/interp = 2
|
|
||||||
tracks/8/loop_wrap = true
|
|
||||||
tracks/8/keys = {
|
|
||||||
"times": PackedFloat32Array(0.11, 0.3, 0.49, 0.8),
|
|
||||||
"transitions": PackedFloat32Array(1, 1, 0.482968, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(200.373, 236.593), Vector2(200.373, 246.497), Vector2(200.373, 236.593), Vector2(200.373, 183.66)]
|
|
||||||
}
|
|
||||||
tracks/9/type = "value"
|
|
||||||
tracks/9/imported = false
|
|
||||||
tracks/9/enabled = true
|
|
||||||
tracks/9/path = NodePath("DecorativePaper2:scale")
|
|
||||||
tracks/9/interp = 2
|
|
||||||
tracks/9/loop_wrap = true
|
|
||||||
tracks/9/keys = {
|
|
||||||
"times": PackedFloat32Array(0.11, 0.3, 0.49, 0.8),
|
|
||||||
"transitions": PackedFloat32Array(1, 1, 0.482968, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector2(0.325643, 0.76646), Vector2(0.353939, 0.76646), Vector2(0.325643, 0.76646), Vector2(0.270026, 0.76646)]
|
|
||||||
}
|
|
||||||
tracks/10/type = "value"
|
|
||||||
tracks/10/imported = false
|
|
||||||
tracks/10/enabled = true
|
|
||||||
tracks/10/path = NodePath("DecorativePaper2:modulate")
|
|
||||||
tracks/10/interp = 1
|
|
||||||
tracks/10/loop_wrap = true
|
|
||||||
tracks/10/keys = {
|
|
||||||
"times": PackedFloat32Array(0.566667, 0.733333),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
|
||||||
}
|
|
||||||
tracks/11/type = "value"
|
|
||||||
tracks/11/imported = false
|
|
||||||
tracks/11/enabled = true
|
|
||||||
tracks/11/path = NodePath("VBoxContainer2:modulate")
|
|
||||||
tracks/11/interp = 1
|
|
||||||
tracks/11/loop_wrap = true
|
|
||||||
tracks/11/keys = {
|
|
||||||
"times": PackedFloat32Array(0.566667, 0.69),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
|
||||||
}
|
|
||||||
tracks/12/type = "value"
|
|
||||||
tracks/12/imported = false
|
|
||||||
tracks/12/enabled = true
|
|
||||||
tracks/12/path = NodePath("VBoxContainer/ContentNoteLabel:self_modulate")
|
|
||||||
tracks/12/interp = 1
|
|
||||||
tracks/12/loop_wrap = true
|
|
||||||
tracks/12/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.39),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
|
||||||
}
|
|
||||||
tracks/13/type = "value"
|
|
||||||
tracks/13/imported = false
|
|
||||||
tracks/13/enabled = true
|
|
||||||
tracks/13/path = NodePath("DecorativePaper2:visible")
|
|
||||||
tracks/13/interp = 1
|
|
||||||
tracks/13/loop_wrap = true
|
|
||||||
tracks/13/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.8),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [true, false]
|
|
||||||
}
|
|
||||||
tracks/14/type = "value"
|
|
||||||
tracks/14/imported = false
|
|
||||||
tracks/14/enabled = true
|
|
||||||
tracks/14/path = NodePath("VBoxContainer2:visible")
|
|
||||||
tracks/14/interp = 1
|
|
||||||
tracks/14/loop_wrap = true
|
|
||||||
tracks/14/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.8),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [true, false]
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_6fedj"]
|
|
||||||
_data = {
|
|
||||||
&"RESET": SubResource("Animation_8vhsk"),
|
|
||||||
&"expand": SubResource("Animation_t7f8v"),
|
|
||||||
&"init": SubResource("Animation_bnbqn"),
|
|
||||||
&"reveal": SubResource("Animation_fk5x4"),
|
|
||||||
&"vanish": SubResource("Animation_6fedj"),
|
|
||||||
&"vanish_all": SubResource("Animation_jtrhv")
|
|
||||||
}
|
|
||||||
|
|
||||||
[node name="CollectableUI" type="CenterContainer"]
|
|
||||||
offset_right = 400.0
|
|
||||||
offset_bottom = 350.0
|
|
||||||
script = ExtResource("1_fk5x4")
|
|
||||||
scene = 1
|
|
||||||
|
|
||||||
[node name="DecorativePaper" type="Sprite2D" parent="."]
|
|
||||||
position = Vector2(201, 179)
|
|
||||||
scale = Vector2(0.570658, 0.570658)
|
|
||||||
texture = ExtResource("1_g0dpf")
|
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="HSplitContainer" type="HBoxContainer" parent="VBoxContainer"]
|
|
||||||
layout_mode = 2
|
|
||||||
alignment = 1
|
|
||||||
|
|
||||||
[node name="CheckBox" type="CheckBox" parent="VBoxContainer/HSplitContainer"]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
modulate = Color(0, 0, 0, 1)
|
|
||||||
layout_mode = 2
|
|
||||||
focus_mode = 0
|
|
||||||
button_mask = 0
|
|
||||||
|
|
||||||
[node name="TitleLabel" type="Label" parent="VBoxContainer/HSplitContainer"]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
self_modulate = Color(0, 0, 0, 1)
|
|
||||||
layout_mode = 2
|
|
||||||
size_flags_horizontal = 4
|
|
||||||
theme_type_variation = &"HeaderLarge"
|
|
||||||
text = "crafted Mask"
|
|
||||||
|
|
||||||
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
|
|
||||||
layout_mode = 2
|
|
||||||
alignment = 1
|
|
||||||
|
|
||||||
[node name="CollectPrompt" type="TextureRect" parent="VBoxContainer/HBoxContainer"]
|
|
||||||
layout_mode = 2
|
|
||||||
texture = ExtResource("3_g0dpf")
|
|
||||||
expand_mode = 2
|
|
||||||
stretch_mode = 5
|
|
||||||
script = ExtResource("2_2apub")
|
|
||||||
action = "collect_memento_ui"
|
|
||||||
icon = 0
|
|
||||||
events = Array[InputEvent]([SubResource("InputEventMouseButton_fk5x4"), SubResource("InputEventJoypadButton_8vhsk"), SubResource("InputEventKey_t7f8v")])
|
|
||||||
metadata/_custom_type_script = "uid://bbs1u7ojno7xo"
|
|
||||||
|
|
||||||
[node name="CollectLabel" type="Label" parent="VBoxContainer/HBoxContainer"]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
modulate = Color(0, 0, 0, 1)
|
|
||||||
layout_mode = 2
|
|
||||||
size_flags_horizontal = 4
|
|
||||||
text = "MementoLabel_collect"
|
|
||||||
|
|
||||||
[node name="OptionPrompt" type="TextureRect" parent="VBoxContainer/HBoxContainer"]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
visible = false
|
|
||||||
layout_mode = 2
|
|
||||||
texture = ExtResource("5_fk5x4")
|
|
||||||
expand_mode = 2
|
|
||||||
stretch_mode = 5
|
|
||||||
script = ExtResource("2_2apub")
|
|
||||||
action = "option_memento_ui"
|
|
||||||
icon = 0
|
|
||||||
events = Array[InputEvent]([SubResource("InputEventMouseButton_6fedj"), SubResource("InputEventJoypadButton_bnbqn")])
|
|
||||||
metadata/_custom_type_script = "uid://bbs1u7ojno7xo"
|
|
||||||
|
|
||||||
[node name="OptionsLabel" type="Label" parent="VBoxContainer/HBoxContainer"]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
visible = false
|
|
||||||
modulate = Color(0, 0, 0, 1)
|
|
||||||
layout_mode = 2
|
|
||||||
size_flags_horizontal = 4
|
|
||||||
text = "options"
|
|
||||||
|
|
||||||
[node name="ContentNoteLabel" type="RichTextLabel" parent="VBoxContainer"]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
visible = false
|
|
||||||
modulate = Color(0, 0, 0, 1)
|
|
||||||
custom_minimum_size = Vector2(350, 90)
|
|
||||||
layout_mode = 2
|
|
||||||
bbcode_enabled = true
|
|
||||||
text = "[b]MementoLabel_CN[/b]: MementoLabel_ChildhoodCN"
|
|
||||||
fit_content = true
|
|
||||||
horizontal_alignment = 1
|
|
||||||
vertical_alignment = 1
|
|
||||||
|
|
||||||
[node name="DecorativePaper2" type="Sprite2D" parent="."]
|
|
||||||
visible = false
|
|
||||||
position = Vector2(200.373, 236.593)
|
|
||||||
rotation = 1.57079
|
|
||||||
scale = Vector2(0.325643, 0.76646)
|
|
||||||
texture = ExtResource("1_g0dpf")
|
|
||||||
|
|
||||||
[node name="VBoxContainer2" type="VBoxContainer" parent="."]
|
|
||||||
visible = false
|
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="HSeparator" type="HSeparator" parent="VBoxContainer2"]
|
|
||||||
modulate = Color(1, 1, 1, 0)
|
|
||||||
custom_minimum_size = Vector2(0, 50)
|
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="CollectButton" type="Button" parent="VBoxContainer2"]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
layout_mode = 2
|
|
||||||
text = "collect"
|
|
||||||
|
|
||||||
[node name="ReadStory" type="Button" parent="VBoxContainer2"]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
visible = false
|
|
||||||
layout_mode = 2
|
|
||||||
text = "read again"
|
|
||||||
|
|
||||||
[node name="SummaryButton" type="Button" parent="VBoxContainer2"]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
visible = false
|
|
||||||
layout_mode = 2
|
|
||||||
text = "get summary"
|
|
||||||
|
|
||||||
[node name="SkipButton" type="Button" parent="VBoxContainer2"]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
visible = false
|
|
||||||
layout_mode = 2
|
|
||||||
text = "skip"
|
|
||||||
|
|
||||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
libraries = {
|
|
||||||
&"": SubResource("AnimationLibrary_6fedj")
|
|
||||||
}
|
|
||||||
autoplay = "init"
|
|
||||||
Loading…
Reference in New Issue