From 0ebd0c46a0f4cb164da4648ef353a49660486192 Mon Sep 17 00:00:00 2001 From: kziolkowski Date: Sun, 15 Jun 2025 20:05:53 +0200 Subject: [PATCH] Added indoor ending --- dialog/yeli_intro_05.dtl | 7 ++++++ dialog/yeli_intro_05.dtl.uid | 1 + project.godot | 6 +++-- scenes/Babushka_scene_farm_outside_2d.tscn | 19 ++++++++++----- scenes/IndoorTest2.tscn | 27 +++++++++++++++++++++- scripts/CSharp/Common/SceneTransition.cs | 14 +++++++++-- 6 files changed, 63 insertions(+), 11 deletions(-) create mode 100644 dialog/yeli_intro_05.dtl create mode 100644 dialog/yeli_intro_05.dtl.uid diff --git a/dialog/yeli_intro_05.dtl b/dialog/yeli_intro_05.dtl new file mode 100644 index 0000000..08c6ce9 --- /dev/null +++ b/dialog/yeli_intro_05.dtl @@ -0,0 +1,7 @@ +join Yeli center +Yeli: Woah, what's going on here? +Yeli: Seems like this room isn't ready for business yet. +Yeli: Let's wait until the developers are done with it, shall we? +Yeli: See you at {SHOW}! +leave Yeli +[end_timeline] diff --git a/dialog/yeli_intro_05.dtl.uid b/dialog/yeli_intro_05.dtl.uid new file mode 100644 index 0000000..d078039 --- /dev/null +++ b/dialog/yeli_intro_05.dtl.uid @@ -0,0 +1 @@ +uid://ik2t6j8tken diff --git a/project.godot b/project.godot index 715fb64..9f11baa 100644 --- a/project.godot +++ b/project.godot @@ -35,10 +35,12 @@ directories/dtl_directory={ "yeli_intro_01": "res://dialog/yeli_intro_01.dtl", "yeli_intro_02": "res://dialog/yeli_intro_02.dtl", "yeli_intro_03": "res://dialog/yeli_intro_03.dtl", -"yeli_intro_04": "res://dialog/yeli_intro_04.dtl" +"yeli_intro_04": "res://dialog/yeli_intro_04.dtl", +"yeli_intro_05": "res://dialog/yeli_intro_05.dtl" } variables={ -"PLAYERMOOD": "Good" +"PLAYERMOOD": "Good", +"SHOW": "IGF" } glossary/default_case_sensitive=true layout/style_list=["res://dialog/NPC_narrative.tres"] diff --git a/scenes/Babushka_scene_farm_outside_2d.tscn b/scenes/Babushka_scene_farm_outside_2d.tscn index 9a67b8b..2588aea 100644 --- a/scenes/Babushka_scene_farm_outside_2d.tscn +++ b/scenes/Babushka_scene_farm_outside_2d.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=67 format=3 uid="uid://gigb28qk8t12"] +[gd_scene load_steps=69 format=3 uid="uid://gigb28qk8t12"] [ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/characters/Player2D.tscn" id="1_7wfwe"] [ext_resource type="Texture2D" uid="uid://8sr11ex30n0m" path="res://art/mockups/Kenney_Backgrounds/Samples/uncolored_hills.png" id="2_7b2ri"] @@ -36,6 +36,8 @@ [ext_resource type="Resource" uid="uid://cndd64batns31" path="res://resources/items/wateringcan.tres" id="28_ipqaa"] [ext_resource type="Resource" uid="uid://datee0flk1e84" path="res://resources/items/scythe.tres" id="29_wtdui"] [ext_resource type="PackedScene" uid="uid://cgjc4wurbgimy" path="res://prefabs/UI/Inventory/Inventory.tscn" id="32_2nee2"] +[ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="34_e5b7x"] +[ext_resource type="PackedScene" uid="uid://bm21nqepnwaik" path="res://scenes/IndoorTest2.tscn" id="35_taxvr"] [ext_resource type="AudioStream" uid="uid://cfqg50am0swb7" path="res://audio/Music/Farming_90BPM_69Bars_Loop.wav" id="37_8ey8m"] [ext_resource type="AudioStream" uid="uid://dku1rq5cocisg" path="res://audio/Music/Farming_90BPM_69Bars.wav" id="37_di1ed"] [ext_resource type="AudioStream" uid="uid://fsiypqhql67w" path="res://audio/sfx/Farming/SFX_GettingWater_01.wav" id="39_di1ed"] @@ -137,7 +139,7 @@ shader_parameter/brightness_add = 0.0 shader_parameter/contrast_mult = 0.913 [sub_resource type="RectangleShape2D" id="RectangleShape2D_2nee2"] -size = Vector2(12082, 1176) +size = Vector2(5905, 1176) [sub_resource type="RectangleShape2D" id="RectangleShape2D_p6n74"] resource_local_to_scene = true @@ -155,6 +157,8 @@ stream_0/stream = ExtResource("39_di1ed") stream_1/stream = ExtResource("40_ceriq") [node name="BabushkaSceneFarmOutside2d" type="Node2D"] +script = ExtResource("34_e5b7x") +_sceneToLoad = ExtResource("35_taxvr") [node name="ParallaxBackground" type="ParallaxBackground" parent="."] @@ -895,25 +899,27 @@ shape = SubResource("CircleShape2D_ipqaa") position = Vector2(-60, 122) [node name="Static" type="Node2D" parent="YSorted/Farm visuals"] +position = Vector2(-8213, 84) [node name="House Mockup" type="Sprite2D" parent="YSorted/Farm visuals/Static"] -visible = false material = SubResource("ShaderMaterial_lhtpe") position = Vector2(5280, 1600) scale = Vector2(5, 5) texture = ExtResource("2_lhtpe") [node name="StaticBody2D" type="StaticBody2D" parent="YSorted/Farm visuals/Static/House Mockup"] -visible = false collision_layer = 2 collision_mask = 6 [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="YSorted/Farm visuals/Static/House Mockup/StaticBody2D"] -visible = false position = Vector2(-257.6, 236.8) polygon = PackedVector2Array(232, -4.80005, 0, 0, 0, -96, -262.4, -97.6, -265.6, -260.8, -310.4, -260.8, -235.2, -321.6, -124.8, -323.2, -57.6, -424, 84.8, -436.8, 118.4, -452.8, 136, -436.8, 726.4, -452.8, 817.6, -299.2, 785.6, -291.2, 785.6, -108.8, 241.6, -94.4) disabled = true +[node name="EnterHouseInteraction" parent="YSorted/Farm visuals/Static" instance=ExtResource("27_klb81")] +position = Vector2(7178, 1965) +scale = Vector2(2.425, 2.425) + [node name="FieldParent" type="Node2D" parent="YSorted/Farm visuals"] position = Vector2(53, 20) scale = Vector2(1, 0.993819) @@ -926,7 +932,7 @@ collision_mask = 5 collision_priority = 10.0 [node name="CollisionShape2D" type="CollisionShape2D" parent="YSorted/Farm visuals/FieldParent/Area2D"] -position = Vector2(473, 2949) +position = Vector2(2897.5, 2949) shape = SubResource("RectangleShape2D_2nee2") [node name="CollisionShape2D2" type="CollisionShape2D" parent="YSorted/Farm visuals/FieldParent/Area2D"] @@ -978,6 +984,7 @@ script = ExtResource("40_w3jkj") [connection signal="FilledWateringCan" from="YSorted/Vesna" to="Audio/SFX/FillWater SFX2" method="PlayOneShot"] [connection signal="WateringField" from="YSorted/Vesna/FarmingControls" to="Audio/SFX/Watering SFX" method="PlayOneShot"] [connection signal="InteractedTool" from="YSorted/BrĂ¼nnen/InteractionArea" to="YSorted/Vesna" method="TryFillWateringCan"] +[connection signal="Interacted" from="YSorted/Farm visuals/Static/EnterHouseInteraction" to="." method="LoadScene"] [connection signal="FieldCreated" from="YSorted/Farm visuals/FieldParent" to="Audio/SFX/Farming SFX" method="PlayOneShot"] [connection signal="mouse_entered" from="YSorted/Farm visuals/FieldParent/Area2D" to="YSorted/Farm visuals/FieldParent" method="MouseEnteredAllowedArea"] [connection signal="mouse_exited" from="YSorted/Farm visuals/FieldParent/Area2D" to="YSorted/Farm visuals/FieldParent" method="MouseExitedAllowedArea"] diff --git a/scenes/IndoorTest2.tscn b/scenes/IndoorTest2.tscn index 3900788..6a97db4 100644 --- a/scenes/IndoorTest2.tscn +++ b/scenes/IndoorTest2.tscn @@ -1,5 +1,6 @@ -[gd_scene load_steps=19 format=3 uid="uid://bm21nqepnwaik"] +[gd_scene load_steps=23 format=3 uid="uid://bm21nqepnwaik"] +[ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="1_aivb2"] [ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/characters/Player2D.tscn" id="2_a2ood"] [ext_resource type="Texture2D" uid="uid://waqmjrxduxfq" path="res://art/indoor/room export/Room_01_walls.png" id="3_a2ood"] [ext_resource type="Texture2D" uid="uid://cnhsxxps2cw5" path="res://art/indoor/room export/Room_01_table.png" id="3_je1cl"] @@ -14,6 +15,8 @@ [ext_resource type="Texture2D" uid="uid://tyypifpte0pb" path="res://art/indoor/room export/Room_01_chugun.png" id="11_atjbs"] [ext_resource type="Texture2D" uid="uid://x7trh4dgsvoe" path="res://art/indoor/room export/Room_01_assets.png" id="13_j5d18"] [ext_resource type="Texture2D" uid="uid://ckvytnpi8gcxq" path="res://art/eyes_atlas.png" id="14_j5d18"] +[ext_resource type="PackedScene" uid="uid://dfvgp1my5rydh" path="res://prefabs/characters/Yeli.tscn" id="15_ciwvv"] +[ext_resource type="Script" uid="uid://cvkw4qd2hxksi" path="res://scripts/GdScript/dialogic_toggle.gd" id="17_835kg"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_a2ood"] resource_local_to_scene = true @@ -104,8 +107,13 @@ _data = { &"hand_stretch": SubResource("Animation_8o6or") } +[sub_resource type="CircleShape2D" id="CircleShape2D_wuntg"] +resource_local_to_scene = true +radius = 300.0 + [node name="IndoorTest" type="Node2D"] y_sort_enabled = true +script = ExtResource("1_aivb2") [node name="BackWall" type="Node" parent="."] @@ -318,4 +326,21 @@ offset = Vector2(0, -296) region_enabled = true region_rect = Rect2(2576, 802, 219, 64) +[node name="Yeli" parent="." instance=ExtResource("15_ciwvv")] +position = Vector2(-2912, 432) + +[node name="CollisionShape3D" parent="Yeli/InteractionArea/Area2D" index="0"] +shape = SubResource("CircleShape2D_wuntg") + +[node name="TalkingControl" parent="Yeli" index="1"] +_timelinesToPlay = PackedStringArray("yeli_intro_05") + +[node name="dialogic_toggle" type="Node2D" parent="Yeli"] +script = ExtResource("17_835kg") +metadata/_custom_type_script = "uid://cvkw4qd2hxksi" + +[connection signal="timelineEnded" from="Yeli/dialogic_toggle" to="." method="Quit"] + [editable path="Player2d"] +[editable path="Yeli"] +[editable path="Yeli/InteractionArea"] diff --git a/scripts/CSharp/Common/SceneTransition.cs b/scripts/CSharp/Common/SceneTransition.cs index 9b986ce..ce16126 100644 --- a/scripts/CSharp/Common/SceneTransition.cs +++ b/scripts/CSharp/Common/SceneTransition.cs @@ -5,13 +5,18 @@ namespace Babushka.scripts.CSharp.Common; public partial class SceneTransition : Node { [Export] private PackedScene _sceneToLoad; - [Export] private Node _sceneInstanceParent; + [Export] private Node? _sceneInstanceParent; [Export] private bool _unloadSelf = true; public void LoadScene() { Node sceneInstance = _sceneToLoad.Instantiate(); - _sceneInstanceParent.AddChild(sceneInstance); + if(_sceneInstanceParent != null) + _sceneInstanceParent.AddChild(sceneInstance); + else + { + GetTree().Root.AddChild(sceneInstance); + } if (_unloadSelf) { @@ -19,4 +24,9 @@ public partial class SceneTransition : Node } } + public void Quit() + { + GetTree().Quit(); + } + } \ No newline at end of file