room initialisation enhancements

This commit is contained in:
betalars 2024-10-18 18:10:51 +02:00
parent 889bc6274d
commit ab366420dd
3 changed files with 63 additions and 9 deletions

View File

@ -11,8 +11,8 @@ signal ini_room
@onready var card_board: CardBoard = %Board @onready var card_board: CardBoard = %Board
@onready var card_picker: CardPicker = %Picker @onready var card_picker: CardPicker = %Picker
func start(save: SaveGame = SaveGame.new()): func start_room():
save_game = save save_game = State.active_save_game
# Setting Memento user interface elemnts as collected based on the savegame. # Setting Memento user interface elemnts as collected based on the savegame.
mask_memento.collected = save_game.mementos_complete && 1 >> Scenes.id.YOUTH_CHILDHOOD > 0 mask_memento.collected = save_game.mementos_complete && 1 >> Scenes.id.YOUTH_CHILDHOOD > 0
@ -34,7 +34,7 @@ func get_ready():
func _ready(): func _ready():
if get_parent() == get_tree().root: if get_parent() == get_tree().root:
get_ready() get_ready()
start() start_room()
card_picker.cards_picked.connect(card_board.populate_board) card_picker.cards_picked.connect(card_board.populate_board)
func pull_save_state(save: SaveGame) -> void: func pull_save_state(save: SaveGame) -> void:

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=131 format=4 uid="uid://b3b0gyvklqn50"] [gd_scene load_steps=133 format=4 uid="uid://b3b0gyvklqn50"]
[ext_resource type="Script" path="res://base-environments/youth_room/room_handle.gd" id="1_aitp0"] [ext_resource type="Script" path="res://base-environments/youth_room/room_handle.gd" id="1_aitp0"]
[ext_resource type="PackedScene" uid="uid://c0i4ydmxtxfho" path="res://base-environments/youth_room/import/youth_room.glb" id="1_jf3oi"] [ext_resource type="PackedScene" uid="uid://c0i4ydmxtxfho" path="res://base-environments/youth_room/import/youth_room.glb" id="1_jf3oi"]
@ -28,6 +28,7 @@
[ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://logic-scenes/misc/skip_control.tscn" id="15_7nc4e"] [ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://logic-scenes/misc/skip_control.tscn" id="15_7nc4e"]
[ext_resource type="PackedScene" uid="uid://brk4hjdf2x81a" path="res://logic-scenes/card_picker/card_picker.tscn" id="19_a4n1o"] [ext_resource type="PackedScene" uid="uid://brk4hjdf2x81a" path="res://logic-scenes/card_picker/card_picker.tscn" id="19_a4n1o"]
[ext_resource type="ArrayMesh" uid="uid://bfc3d4g40n0wy" path="res://logic-scenes/collectable/import/old-mask.res" id="19_jr2bb"] [ext_resource type="ArrayMesh" uid="uid://bfc3d4g40n0wy" path="res://logic-scenes/collectable/import/old-mask.res" id="19_jr2bb"]
[ext_resource type="FontFile" uid="uid://b231f0liphck" path="res://import/fonts/AtkinsonHyperlegible-Regular.ttf" id="20_pyf88"]
[ext_resource type="PackedScene" uid="uid://dwtxjvprjyx8p" path="res://base-environments/youth_room/lava-lamp.tscn" id="21_0k2gr"] [ext_resource type="PackedScene" uid="uid://dwtxjvprjyx8p" path="res://base-environments/youth_room/lava-lamp.tscn" id="21_0k2gr"]
[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="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"]
@ -1780,6 +1781,18 @@ scale_curve = SubResource("CurveTexture_cg0w1")
color_ramp = SubResource("GradientTexture1D_xxq8p") color_ramp = SubResource("GradientTexture1D_xxq8p")
turbulence_noise_strength = 0.1 turbulence_noise_strength = 0.1
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_mlcq6"]
bg_color = Color(0.82, 0.785013, 0.2952, 1)
border_width_left = 10
border_width_top = 10
border_width_right = 10
border_width_bottom = 10
border_color = Color(0.82, 0.785013, 0.2952, 1)
corner_radius_top_left = 10
corner_radius_top_right = 10
corner_radius_bottom_right = 10
corner_radius_bottom_left = 10
[sub_resource type="BoxShape3D" id="BoxShape3D_cb3g8"] [sub_resource type="BoxShape3D" id="BoxShape3D_cb3g8"]
size = Vector3(1.81843, 2.13395, 0.0774798) size = Vector3(1.81843, 2.13395, 0.0774798)
@ -2216,7 +2229,6 @@ ambient_light_source = 3
ambient_light_color = Color(1, 1, 1, 1) ambient_light_color = Color(1, 1, 1, 1)
reflected_light_source = 1 reflected_light_source = 1
tonemap_mode = 2 tonemap_mode = 2
ssr_enabled = true
ssr_max_steps = 512 ssr_max_steps = 512
ssr_depth_tolerance = 0.01 ssr_depth_tolerance = 0.01
ssao_enabled = true ssao_enabled = true
@ -2231,7 +2243,7 @@ ssil_normal_rejection = 0.8
sdfgi_enabled = true sdfgi_enabled = true
sdfgi_use_occlusion = true sdfgi_use_occlusion = true
sdfgi_read_sky_light = false sdfgi_read_sky_light = false
sdfgi_min_cell_size = 0.0664062 sdfgi_min_cell_size = 0.00976562
glow_enabled = true glow_enabled = true
glow_levels/2 = 0.3 glow_levels/2 = 0.3
glow_levels/7 = 2.0 glow_levels/7 = 2.0
@ -2719,6 +2731,7 @@ stretch_mode = 4
[node name="skip_control" parent="logic/ScenePlayer/childhood/PanelContainer" instance=ExtResource("15_7nc4e")] [node name="skip_control" parent="logic/ScenePlayer/childhood/PanelContainer" instance=ExtResource("15_7nc4e")]
layout_mode = 2 layout_mode = 2
costum_owner = NodePath("../..")
[node name="VoiceTraining" type="AudioStreamPlayer" parent="logic/ScenePlayer"] [node name="VoiceTraining" type="AudioStreamPlayer" parent="logic/ScenePlayer"]
stream = ExtResource("10_wwwdq") stream = ExtResource("10_wwwdq")
@ -2808,6 +2821,7 @@ stretch_mode = 4
[node name="skip_control2" parent="logic/ScenePlayer/Voice Training/PanelContainer" instance=ExtResource("15_7nc4e")] [node name="skip_control2" parent="logic/ScenePlayer/Voice Training/PanelContainer" instance=ExtResource("15_7nc4e")]
layout_mode = 2 layout_mode = 2
costum_owner = NodePath("../..")
[node name="Jui_Jutsu" type="AudioStreamPlayer" parent="logic/ScenePlayer"] [node name="Jui_Jutsu" type="AudioStreamPlayer" parent="logic/ScenePlayer"]
bus = &"music" bus = &"music"
@ -2824,6 +2838,7 @@ grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
[node name="PanelContainer" type="PanelContainer" parent="logic/ScenePlayer/jui_jutsu"] [node name="PanelContainer" type="PanelContainer" parent="logic/ScenePlayer/jui_jutsu"]
self_modulate = Color(1, 1, 1, 0)
layout_mode = 2 layout_mode = 2
mouse_filter = 1 mouse_filter = 1
@ -2858,7 +2873,7 @@ custom_minimum_size = Vector2(800, 800)
layout_mode = 2 layout_mode = 2
size_flags_horizontal = 4 size_flags_horizontal = 4
size_flags_vertical = 4 size_flags_vertical = 4
mouse_filter = 2 mouse_filter = 0
scroll_vertical = 638 scroll_vertical = 638
horizontal_scroll_mode = 0 horizontal_scroll_mode = 0
vertical_scroll_mode = 3 vertical_scroll_mode = 3
@ -2945,6 +2960,28 @@ texture = ExtResource("12_xnele")
[node name="skip_control3" parent="logic/ScenePlayer/jui_jutsu/PanelContainer" instance=ExtResource("15_7nc4e")] [node name="skip_control3" parent="logic/ScenePlayer/jui_jutsu/PanelContainer" instance=ExtResource("15_7nc4e")]
layout_mode = 2 layout_mode = 2
costum_owner = NodePath("../..")
[node name="Panel" type="PanelContainer" parent="logic/ScenePlayer/jui_jutsu"]
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_mlcq6")
[node name="RichTextLabel" type="RichTextLabel" parent="logic/ScenePlayer/jui_jutsu/Panel"]
layout_mode = 2
theme_override_colors/default_color = Color(0, 0, 0, 1)
theme_override_fonts/normal_font = ExtResource("20_pyf88")
theme_override_font_sizes/normal_font_size = 28
bbcode_enabled = true
text = "Hinweis für die USK-Prüfung!
Diese Szene wird auf der Messe deaktiviert sein.
Ich glaube zwar das ist immer noch angemessen
für USK-12 für ein finales Release, aber ungeeignet
für eine Messe-Umgebung, die kein Safer Space ist.
Ich will nicht Jugendliche, die ggf. durch das Spiel
eine Traumareaktion erleben, mitten in einer
Messehalle wieder beruhigen müssen."
fit_content = true
autowrap_mode = 0
[node name="draeven" type="CenterContainer" parent="logic/ScenePlayer"] [node name="draeven" type="CenterContainer" parent="logic/ScenePlayer"]
visible = false visible = false
@ -3022,6 +3059,7 @@ stretch_mode = 4
[node name="skip_control4" parent="logic/ScenePlayer/draeven/PanelContainer" instance=ExtResource("15_7nc4e")] [node name="skip_control4" parent="logic/ScenePlayer/draeven/PanelContainer" instance=ExtResource("15_7nc4e")]
layout_mode = 2 layout_mode = 2
costum_owner = NodePath("../..")
[node name="starlight_mesh" type="MeshInstance3D" parent="logic/ScenePlayer/draeven"] [node name="starlight_mesh" type="MeshInstance3D" parent="logic/ScenePlayer/draeven"]
transform = Transform3D(0.999, 0, 0, 0, 0.999, 0, 0, 0, 0.999, 0, 0, 0) transform = Transform3D(0.999, 0, 0, 0, 0.999, 0, 0, 0, 0.999, 0, 0, 0)
@ -3041,7 +3079,7 @@ spot_angle = 85.9425
spot_angle_attenuation = 0.57435 spot_angle_attenuation = 0.57435
[node name="starlight_lamp" type="SpotLight3D" parent="logic/ScenePlayer/draeven/starlight_mesh"] [node name="starlight_lamp" type="SpotLight3D" parent="logic/ScenePlayer/draeven/starlight_mesh"]
transform = Transform3D(0.551241, -0.677235, 0.489376, 0.695947, 0.0477087, -0.717903, 0.462379, 0.735581, 0.497121, 1.76541, 0.251864, 0.941618) transform = Transform3D(0.55069, -0.676558, 0.488887, 0.695251, 0.0476608, -0.717185, 0.461917, 0.734845, 0.496624, 1.76541, 0.251864, 0.941618)
light_color = Color(0, 1, 1, 1) light_color = Color(0, 1, 1, 1)
light_energy = 2.0 light_energy = 2.0
light_specular = 0.0 light_specular = 0.0
@ -3331,6 +3369,7 @@ transform = Transform3D(-0.410985, -0.460061, 0.787042, -0.904759, 0.311726, -0.
stream = ExtResource("2_3haaq") stream = ExtResource("2_3haaq")
attenuation_model = 1 attenuation_model = 1
volume_db = -15.367 volume_db = -15.367
autoplay = true
panning_strength = 0.5 panning_strength = 0.5
bus = &"sfx" bus = &"sfx"
emission_angle_enabled = true emission_angle_enabled = true
@ -3346,6 +3385,7 @@ bus = &"sfx"
stream = ExtResource("22_xrkbj") stream = ExtResource("22_xrkbj")
attenuation_model = 3 attenuation_model = 3
pitch_scale = 0.8 pitch_scale = 0.8
autoplay = true
panning_strength = 0.2 panning_strength = 0.2
bus = &"outside-rain" bus = &"outside-rain"
@ -3417,7 +3457,7 @@ spot_angle_attenuation = 0.812252
script = SubResource("GDScript_35dmj") script = SubResource("GDScript_35dmj")
[node name="desk_secondary" type="OmniLight3D" parent="visuals/lights/desk_light"] [node name="desk_secondary" type="OmniLight3D" parent="visuals/lights/desk_light"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 2.98023e-08, 1, 0.0352738, 0.0654936, -0.292101) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 2.98023e-08, 1, 0.221273, 0.0654936, -0.292101)
light_color = Color(0.952941, 0.662745, 0.54902, 1) light_color = Color(0.952941, 0.662745, 0.54902, 1)
light_energy = 0.5 light_energy = 0.5
light_size = 0.499 light_size = 0.499
@ -3527,6 +3567,7 @@ skeleton = NodePath("")
[node name="ReflectionProbe" type="ReflectionProbe" parent="visuals/vfx/lava-lamp"] [node name="ReflectionProbe" type="ReflectionProbe" parent="visuals/vfx/lava-lamp"]
transform = Transform3D(0.866853, 0, -0.498563, 0, 1, 0, 0.498563, 0, 0.866853, -0.0356357, 0.0416123, 0.020328) transform = Transform3D(0.866853, 0, -0.498563, 0, 1, 0, 0.498563, 0, 0.866853, -0.0356357, 0.0416123, 0.020328)
visible = false
max_distance = 7.0 max_distance = 7.0
size = Vector3(2, 2, 2) size = Vector3(2, 2, 2)
@ -3636,6 +3677,7 @@ light_array = Array[Vector3]([Vector3(-0.545, 0.915, 1.035), Vector3(-0.47, 0.85
[connection signal="pressed" from="logic/UI/ending_button" to="logic/UI/ending_button" method="hide"] [connection signal="pressed" from="logic/UI/ending_button" to="logic/UI/ending_button" method="hide"]
[connection signal="pressed" from="logic/UI/ending_button" to="logic/UI/ending" method="show"] [connection signal="pressed" from="logic/UI/ending_button" to="logic/UI/ending" method="show"]
[connection signal="cards_picked" from="logic/UI/Picker" to="logic/UI/Board" method="populate_board"] [connection signal="cards_picked" from="logic/UI/Picker" to="logic/UI/Board" method="populate_board"]
[connection signal="cards_picked" from="logic/UI/Picker" to="WorldEnvironment" method="_on_picker_cards_picked"]
[connection signal="board_completed" from="logic/UI/Board" to="logic/UI/ending_button" method="show"] [connection signal="board_completed" from="logic/UI/Board" to="logic/UI/ending_button" method="show"]
[connection signal="skip" from="logic/ScenePlayer/childhood/PanelContainer/skip_control" to="logic/ScenePlayer" method="on_childhood_done"] [connection signal="skip" from="logic/ScenePlayer/childhood/PanelContainer/skip_control" to="logic/ScenePlayer" method="on_childhood_done"]
[connection signal="skip" from="logic/ScenePlayer/childhood/PanelContainer/skip_control" to="logic/ScenePlayer" method="play" binds= ["RESET"]] [connection signal="skip" from="logic/ScenePlayer/childhood/PanelContainer/skip_control" to="logic/ScenePlayer" method="play" binds= ["RESET"]]

View File

@ -1,7 +1,19 @@
class_name RoomTemplate extends Node3D class_name RoomTemplate extends Node3D
var initialised: bool = false
var has_stage: bool:
set(value):
has_stage = value
if has_stage and not initialised:
start_room()
@export var save_game:SaveGame = null @export var save_game:SaveGame = null
func start_room():
pass
func pull_save_state(save: SaveGame) -> void: func pull_save_state(save: SaveGame) -> void:
pass pass