Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8b8293ee85 | |||
| 28e13e4e80 | |||
| 0853855237 | |||
| 944bde4702 | |||
| 36aab734e1 | |||
| e04f9f65d4 | |||
| 6def053d22 | |||
| 89820529ee |
@@ -1,4 +1,5 @@
|
||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AArea3D_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F8a54226fa2e1c9371a8091f24cfd744aef11fe6869527dc23b9b837623a29b9_003FArea3D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AAudioStreamPlayer2D_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F848324b1c23114c3f5e8bbb5a42c4ade394c59a7a7a133a66b76581ca571_003FAudioStreamPlayer2D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACastHelpers_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fd111abf504bf42b5968a609b168fd093b2e200_003Fbb_003F1c116fcd_003FCastHelpers_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ANode_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Ff1d69ec2da76ccf9bc8a75c8e0fdca9a7ba1adf8c8c9d5047e2fa5991c02eca_003FNode_002Ecs/@EntryIndexedValue">ForceIncluded</s:String></wpf:ResourceDictionary>
|
||||
@@ -18,7 +18,7 @@ force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_mode=2
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
join Yeli center
|
||||
Yeli (_part_side): Hi Vesna! Nice to see you!
|
||||
Yeli (_part_side): Hi Vesna! So nice to see you!
|
||||
Yeli: It's been so long!
|
||||
[text_input text="How have you been?" var="PLAYERMOOD" placeholder="Awesome!" default="Good" allow_empty="true"]
|
||||
Yeli: It's nice to hear that you've been {PLAYERMOOD}.
|
||||
Yeli: There is so much to do on the farm. Would you like to help me?
|
||||
[text_input text="How have you been?" var="PLAYERMOOD" placeholder="Good" default="Good" allow_empty="true"]
|
||||
Yeli: {PLAYERMOOD} huh? Nice!
|
||||
Yeli: Well, enough chitchat! There is so much to do on the farm. Would you like to help me?
|
||||
- Absolutely!
|
||||
Yeli: That's what I like to hear!
|
||||
- Yes!
|
||||
Yeli: Very good!
|
||||
- When do I start?
|
||||
- For sure!
|
||||
Yeli: Awesome!
|
||||
Yeli: Ok then let's start with the tilling. In order to till the soil and plant something, you need a hoe.
|
||||
Yeli: You can find it leaning against the back fence somewhere. Pick it up and come back to me.
|
||||
Yeli: Ok then let's start with the tilling. In order to till the soil and plant something, you need a hoe or rake.
|
||||
Yeli: You can find one leaning against the back fence somewhere. Pick it up and come back to me.
|
||||
leave Yeli
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
join Yeli center
|
||||
Yeli: So you found it? Nice!
|
||||
Yeli: Now find a nice plot of land and start tilling it. You can simply click on the ground while you have the rake in your hand.
|
||||
leave Yeli
|
||||
@@ -0,0 +1 @@
|
||||
uid://c2edb6qee3oft
|
||||
@@ -0,0 +1,12 @@
|
||||
join Yeli center
|
||||
Yeli: Done tilling? Ok, next step is watering!
|
||||
Yeli: First, pick up the watering can and select it in your inventory by using the mouse wheel.
|
||||
Yeli: Then go to the well and press [E] to fill it up.
|
||||
Yeli: Did you follow?
|
||||
- Pick up waterin can, then go to well. Got it.
|
||||
- Not exactly. What do I do again?
|
||||
Yeli: Pick up the watering can and fill it up at the well. Easy peasy.
|
||||
Yeli: Alright, then you go to a field that you prepared and click on it while holding the watering can. You'll see it turn dark from the water.
|
||||
Yeli: Your current watering can has a capacity of 4. That means it can water 4 fields before it needs to be refilled.
|
||||
Yeli: Now go and water the fields, then come back to me. There's another thing, but let's do this step by step.
|
||||
leave Yeli
|
||||
@@ -0,0 +1 @@
|
||||
uid://c8ak87t7rdyur
|
||||
@@ -0,0 +1,7 @@
|
||||
join Yeli center
|
||||
Yeli: Nicely done!
|
||||
Yeli: Your fields are now prepped for the growing part.
|
||||
Yeli: Here, have some tomato seeds. Use them to grow your first plants.
|
||||
Yeli: Once the plants are planted, you can trigger their next development stage by watering them and pressing [E] at their field. It's a little trick I've learned. But don't tell anyone else!
|
||||
Yeli: Once the tomatoes are fully grown, you can harvest them and we can cook a nice soup out of them.
|
||||
leave Yeli
|
||||
@@ -0,0 +1 @@
|
||||
uid://vr8kyg00yn6u
|
||||
@@ -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]
|
||||
@@ -0,0 +1 @@
|
||||
uid://ik2t6j8tken
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=821 format=3 uid="uid://c25udixd5m6l0"]
|
||||
[gd_scene load_steps=822 format=3 uid="uid://c25udixd5m6l0"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b05uyj001ehwi" path="res://scripts/CSharp/Common/Farming/VesnaBehaviour2D.cs" id="1_yd5ep"]
|
||||
[ext_resource type="Script" uid="uid://cjbclkxesh3hc" path="res://scripts/CSharp/Common/CharacterControls/Player2D.cs" id="2_1vqmv"]
|
||||
@@ -818,6 +818,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://x8hr8287ff2n" path="res://art/farm/farming/farmobjekte/tools atlas.png" id="816_1a3c1"]
|
||||
[ext_resource type="Script" uid="uid://bcskt5ckh3rqa" path="res://scripts/CSharp/Common/Farming/FarmingControls2D.cs" id="817_6nrw3"]
|
||||
[ext_resource type="PackedScene" uid="uid://b1d2e7ely6hyw" path="res://prefabs/farm/base_field_2d.tscn" id="818_16w6h"]
|
||||
[ext_resource type="Script" uid="uid://cvkw4qd2hxksi" path="res://scripts/GdScript/dialogic_toggle.gd" id="819_4na52"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_ssqtd"]
|
||||
radius = 110.018
|
||||
@@ -3563,5 +3564,11 @@ _fieldPrefab = ExtResource("818_16w6h")
|
||||
_movingPlayer = NodePath("../CharacterBody2D")
|
||||
_camera = NodePath("../CharacterBody2D/Camera2D")
|
||||
|
||||
[node name="Node2D" type="Node2D" parent="."]
|
||||
position = Vector2(0, 374)
|
||||
script = ExtResource("819_4na52")
|
||||
|
||||
[connection signal="PickedUpTool" from="." to="CharacterBody2D" method="ActivateTool"]
|
||||
[connection signal="WateringField" from="FarmingControls" to="CharacterBody2D" method="PlayWateringAnimation"]
|
||||
[connection signal="timelineEnded" from="Node2D" to="." method="EnableMovement"]
|
||||
[connection signal="timelineStarted" from="Node2D" to="." method="DisableMovement"]
|
||||
|
||||
@@ -183,7 +183,9 @@ animations = [{
|
||||
}]
|
||||
|
||||
[node name="Yeli" type="Node2D"]
|
||||
z_index = 1
|
||||
y_sort_enabled = true
|
||||
position = Vector2(0, 322)
|
||||
script = ExtResource("1_at1n1")
|
||||
|
||||
[node name="InteractionArea" parent="." instance=ExtResource("42_ahrat")]
|
||||
@@ -194,19 +196,18 @@ scale = Vector2(2.805, 2.805)
|
||||
shape = SubResource("CircleShape2D_at1n1")
|
||||
|
||||
[node name="Label" parent="InteractionArea" index="1"]
|
||||
top_level = true
|
||||
custom_minimum_size = Vector2(10, 10)
|
||||
offset_left = -94.0
|
||||
offset_top = 83.0
|
||||
offset_right = -39.65
|
||||
offset_bottom = 113.0
|
||||
scale = Vector2(3, 3)
|
||||
offset_left = -127.273
|
||||
offset_top = -245.633
|
||||
offset_right = 119.727
|
||||
offset_bottom = -142.633
|
||||
theme_override_font_sizes/font_size = 60
|
||||
text = "[E] talk"
|
||||
|
||||
[node name="TalkingControl" type="Node2D" parent="." node_paths=PackedStringArray("_sprite")]
|
||||
script = ExtResource("1_hn8at")
|
||||
_sprite = NodePath("AnimatedSprite")
|
||||
_timelinesToPlay = PackedStringArray("yeli_intro_01")
|
||||
_timelinesToPlay = PackedStringArray("yeli_intro_01", "yeli_intro_02", "yeli_intro_03", "yeli_intro_04")
|
||||
|
||||
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="TalkingControl"]
|
||||
y_sort_enabled = true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://b1d2e7ely6hyw"]
|
||||
[gd_scene load_steps=8 format=3 uid="uid://b1d2e7ely6hyw"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="1_femni"]
|
||||
[ext_resource type="Script" uid="uid://bdffon388rkty" path="res://scripts/CSharp/Common/Farming/FieldBehaviour2D.cs" id="2_femni"]
|
||||
@@ -6,9 +6,13 @@
|
||||
[ext_resource type="Texture2D" uid="uid://d3dq15edmgbwf" path="res://art/farm/tilable grounds/böden/nasse farming erde rund.png" id="4_lsfck"]
|
||||
[ext_resource type="PackedScene" uid="uid://c3hwbwo423nbm" path="res://prefabs/farm/base_plant_2d.tscn" id="5_femni"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_yi42k"]
|
||||
resource_local_to_scene = true
|
||||
radius = 201.345
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_femni"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
radius = 194.926
|
||||
|
||||
[node name="BaseField" type="Node2D"]
|
||||
|
||||
@@ -17,12 +21,14 @@ visible = false
|
||||
z_index = 1
|
||||
scale = Vector2(2.225, 2.225)
|
||||
|
||||
[node name="FieldBehaviour" type="Sprite2D" parent="."]
|
||||
[node name="FieldBehaviour" type="Sprite2D" parent="." node_paths=PackedStringArray("_growingCollider")]
|
||||
z_index = -1
|
||||
scale = Vector2(0.9, 1)
|
||||
texture = ExtResource("2_yi42k")
|
||||
script = ExtResource("2_femni")
|
||||
Tilled = ExtResource("2_yi42k")
|
||||
Watered = ExtResource("4_lsfck")
|
||||
_growingCollider = NodePath("BasePlant/InteractionArea")
|
||||
|
||||
[node name="BasePlant" parent="FieldBehaviour" node_paths=PackedStringArray("_field") instance=ExtResource("5_femni")]
|
||||
_field = NodePath("..")
|
||||
@@ -30,11 +36,28 @@ _field = NodePath("..")
|
||||
[node name="BigPlant" parent="FieldBehaviour/BasePlant" index="2"]
|
||||
position = Vector2(6, -161)
|
||||
|
||||
[node name="InteractionArea" parent="FieldBehaviour/BasePlant" index="3"]
|
||||
z_index = 3
|
||||
|
||||
[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant/InteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_yi42k")
|
||||
|
||||
[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_femni")
|
||||
|
||||
[node name="Label" parent="FieldBehaviour/BasePlant/ReadyPlantInventoryItem/InteractionArea2" index="1"]
|
||||
visible = false
|
||||
|
||||
[node name="ReadyPlant" parent="FieldBehaviour/BasePlant/ReadyPlantInventoryItem" index="5"]
|
||||
visible = false
|
||||
position = Vector2(0, -291.3)
|
||||
|
||||
[node name="01" parent="FieldBehaviour/BasePlant/ReadyPlantInventoryItem/ReadyPlant" index="0"]
|
||||
visible = true
|
||||
|
||||
[connection signal="Interacted" from="InteractionArea2" to="FieldBehaviour/BasePlant" method="Grow"]
|
||||
|
||||
[editable path="FieldBehaviour/BasePlant"]
|
||||
[editable path="FieldBehaviour/BasePlant/InteractionArea"]
|
||||
[editable path="FieldBehaviour/BasePlant/ReadyPlantInventoryItem"]
|
||||
[editable path="FieldBehaviour/BasePlant/ReadyPlantInventoryItem/InteractionArea2"]
|
||||
|
||||
@@ -39,7 +39,6 @@ position = Vector2(0, 0.5)
|
||||
[node name="TomatoSeed" type="Sprite2D" parent="Seeds"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rmjrk")
|
||||
flip_v = true
|
||||
region_enabled = true
|
||||
@@ -48,7 +47,6 @@ region_rect = Rect2(-2, 15, 85, 81)
|
||||
[node name="TomatoSeed2" type="Sprite2D" parent="Seeds"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rmjrk")
|
||||
flip_v = true
|
||||
region_enabled = true
|
||||
@@ -57,7 +55,6 @@ region_rect = Rect2(15, 177, 84, 108)
|
||||
[node name="TomatoSeed3" type="Sprite2D" parent="Seeds"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rmjrk")
|
||||
flip_v = true
|
||||
region_enabled = true
|
||||
|
||||
@@ -49,12 +49,13 @@ autowrap_mode = 3
|
||||
shape = SubResource("CircleShape2D_tlhp6")
|
||||
|
||||
[node name="Label" parent="InteractionArea2" index="1"]
|
||||
offset_left = -142.0
|
||||
offset_top = -278.0
|
||||
offset_right = 1.0
|
||||
offset_bottom = -170.0
|
||||
visible = true
|
||||
z_index = 5
|
||||
offset_left = -68.0
|
||||
offset_top = -111.0
|
||||
offset_right = 75.0
|
||||
offset_bottom = -3.0
|
||||
theme = SubResource("Theme_xu8me")
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Icon" type="Sprite2D" parent="."]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://cqc72e4hq6bcd"]
|
||||
[gd_scene load_steps=4 format=3 uid="uid://cqc72e4hq6bcd"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ckp413wrub5fm" path="res://scripts/CSharp/Common/CharacterControls/InteractionArea2D.cs" id="1_5ajrf"]
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
[sub_resource type="Theme" id="Theme_5ajrf"]
|
||||
default_font_size = 75
|
||||
|
||||
[node name="InteractionArea" type="Node2D" node_paths=PackedStringArray("_area", "_label")]
|
||||
script = ExtResource("1_5ajrf")
|
||||
_area = NodePath("Area2D")
|
||||
@@ -19,10 +22,13 @@ shape = SubResource("CircleShape2D_npluf")
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
visible = false
|
||||
offset_right = 50.0
|
||||
offset_bottom = 30.0
|
||||
scale = Vector2(2, 2)
|
||||
offset_left = -46.0
|
||||
offset_top = -55.0
|
||||
offset_right = 45.0
|
||||
offset_bottom = 48.0
|
||||
theme = SubResource("Theme_5ajrf")
|
||||
text = "[E]"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[connection signal="body_entered" from="Area2D" to="." method="OnPlayerEntered"]
|
||||
[connection signal="body_exited" from="Area2D" to="." method="OnPlayerExited"]
|
||||
|
||||
+7
-2
@@ -32,10 +32,15 @@ directories/dch_directory={
|
||||
directories/dtl_directory={
|
||||
"semi_cat": "res://dialog/semi_cat.dtl",
|
||||
"test_time_line": "res://dialog/test_time_line.dtl",
|
||||
"yeli_intro_01": "res://dialog/yeli_intro_01.dtl"
|
||||
"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_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"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=60 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,13 @@
|
||||
[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"]
|
||||
[ext_resource type="AudioStream" uid="uid://foyw26hq1qp5" path="res://audio/sfx/Farming/SFX_GettingWater_02.wav" id="40_ceriq"]
|
||||
[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer.cs" id="40_w3jkj"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_wtdui"]
|
||||
shader = ExtResource("13_7p0hq")
|
||||
@@ -132,13 +139,26 @@ 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
|
||||
size = Vector2(7340, 1192)
|
||||
|
||||
[sub_resource type="AudioStreamPlaylist" id="AudioStreamPlaylist_ceriq"]
|
||||
loop = false
|
||||
stream_count = 2
|
||||
stream_0 = ExtResource("37_di1ed")
|
||||
stream_1 = ExtResource("37_8ey8m")
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_ceriq"]
|
||||
streams_count = 2
|
||||
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="."]
|
||||
|
||||
@@ -796,7 +816,6 @@ z_index = 1
|
||||
y_sort_enabled = true
|
||||
|
||||
[node name="Yeli" parent="YSorted" instance=ExtResource("24_wtdui")]
|
||||
z_index = 1
|
||||
position = Vector2(6173, 3310)
|
||||
|
||||
[node name="Vesna" parent="YSorted" node_paths=PackedStringArray("_fieldParent") instance=ExtResource("1_7wfwe")]
|
||||
@@ -839,7 +858,7 @@ _blueprint = ExtResource("26_ipqaa")
|
||||
shape = SubResource("CircleShape2D_2nee2")
|
||||
|
||||
[node name="CanGenericPickup" parent="YSorted" instance=ExtResource("25_hukxv")]
|
||||
position = Vector2(6702, 3507)
|
||||
position = Vector2(8192, 3507)
|
||||
|
||||
[node name="SpawnWithItem" parent="YSorted/CanGenericPickup" index="0"]
|
||||
_blueprint = ExtResource("28_ipqaa")
|
||||
@@ -880,27 +899,30 @@ 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(48, 0)
|
||||
position = Vector2(53, 20)
|
||||
scale = Vector2(1, 0.993819)
|
||||
script = ExtResource("25_0qu0h")
|
||||
metadata/_custom_type_script = "uid://dhxtdhfqx3bte"
|
||||
|
||||
@@ -910,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"]
|
||||
@@ -933,7 +955,37 @@ size_flags_horizontal = 4
|
||||
size_flags_vertical = 8
|
||||
_inventoryOpenedOffset = -600.0
|
||||
|
||||
[node name="Audio" type="Node" parent="."]
|
||||
|
||||
[node name="Background Music" type="AudioStreamPlayer2D" parent="Audio"]
|
||||
position = Vector2(4002, 2030)
|
||||
stream = SubResource("AudioStreamPlaylist_ceriq")
|
||||
volume_db = -15.0
|
||||
autoplay = true
|
||||
max_distance = 1e+06
|
||||
|
||||
[node name="SFX" type="Node" parent="Audio"]
|
||||
|
||||
[node name="Farming SFX" type="AudioStreamPlayer2D" parent="Audio/SFX"]
|
||||
stream = SubResource("AudioStreamRandomizer_ceriq")
|
||||
max_distance = 2e+07
|
||||
script = ExtResource("40_w3jkj")
|
||||
|
||||
[node name="Watering SFX" type="AudioStreamPlayer2D" parent="Audio/SFX"]
|
||||
stream = SubResource("AudioStreamRandomizer_ceriq")
|
||||
max_distance = 2e+07
|
||||
script = ExtResource("40_w3jkj")
|
||||
|
||||
[node name="FillWater SFX2" type="AudioStreamPlayer2D" parent="Audio/SFX"]
|
||||
stream = SubResource("AudioStreamRandomizer_ceriq")
|
||||
max_distance = 2e+07
|
||||
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"]
|
||||
|
||||
|
||||
@@ -8,17 +8,24 @@
|
||||
script = ExtResource("1_fj2fh")
|
||||
_sceneToLoad = ExtResource("2_r0y6o")
|
||||
|
||||
[node name="Background" type="Sprite2D" parent="."]
|
||||
position = Vector2(880, 524)
|
||||
scale = Vector2(1.2, 1.2)
|
||||
texture = ExtResource("1_qerdf")
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="Start" type="Button" parent="Background"]
|
||||
offset_left = 6.66665
|
||||
offset_top = 304.167
|
||||
offset_right = 52.6666
|
||||
offset_bottom = 335.167
|
||||
[node name="TextureRect" type="TextureRect" parent="CanvasLayer"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("1_qerdf")
|
||||
expand_mode = 2
|
||||
stretch_mode = 6
|
||||
|
||||
[node name="Start" type="Button" parent="CanvasLayer/TextureRect"]
|
||||
offset_left = 571.0
|
||||
offset_top = 559.0
|
||||
offset_right = 617.0
|
||||
offset_bottom = 590.0
|
||||
scale = Vector2(2, 2)
|
||||
text = "Start"
|
||||
|
||||
[connection signal="pressed" from="Background/Start" to="." method="LoadScene"]
|
||||
[connection signal="pressed" from="CanvasLayer/TextureRect/Start" to="." method="LoadScene"]
|
||||
|
||||
+26
-1
@@ -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"]
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
using Godot;
|
||||
|
||||
namespace Babushka.scripts.CSharp.Common;
|
||||
|
||||
public partial class AudioPlayer : AudioStreamPlayer2D
|
||||
{
|
||||
/// <summary>
|
||||
/// For SFX and other audio that should be played only once and not looped.
|
||||
/// </summary>
|
||||
public void PlayOneShot()
|
||||
{
|
||||
Play();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://cfnrd5k1k0gxw
|
||||
@@ -19,6 +19,12 @@ public partial class Player2D : CharacterBody2D
|
||||
private Vector2 _lastDirection = Vector2.Zero;
|
||||
private InventoryManager _inventoryManager;
|
||||
|
||||
public bool InputEnabled
|
||||
{
|
||||
get => _canHandleInput;
|
||||
set => _canHandleInput = value;
|
||||
}
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
InventoryManager.Instance.playerInventory.InventoryContentsChanged += HandleNewItemInInventory;
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using Babushka.scripts.CSharp.Common.CharacterControls;
|
||||
using Godot;
|
||||
|
||||
namespace Babushka.scripts.CSharp.Common.Farming;
|
||||
@@ -17,6 +18,7 @@ public partial class FieldBehaviour2D : Sprite2D
|
||||
[Export] private Texture2D Tilled;
|
||||
[Export] private Texture2D Watered;
|
||||
[Export] public FieldState FieldState = FieldState.Tilled;
|
||||
[Export] private InteractionArea2D _growingCollider;
|
||||
|
||||
public Vector2 FieldPosition;
|
||||
|
||||
@@ -36,10 +38,12 @@ public partial class FieldBehaviour2D : Sprite2D
|
||||
case FieldState.Tilled:
|
||||
FieldState = FieldState.Tilled;
|
||||
Texture = Tilled;
|
||||
_growingCollider.Visible = false;
|
||||
break;
|
||||
case FieldState.Watered:
|
||||
FieldState = FieldState.Watered;
|
||||
Texture = Watered;
|
||||
_growingCollider.Visible = true;
|
||||
break;
|
||||
case FieldState.Planted:
|
||||
FieldState = FieldState.Planted;
|
||||
|
||||
@@ -9,6 +9,8 @@ public partial class FieldService2D : Node2D
|
||||
[Export] private Dictionary<Vector2I, FieldBehaviour2D> fields = new Dictionary<Vector2I, FieldBehaviour2D>();
|
||||
|
||||
private bool _fieldAllowed = false;
|
||||
|
||||
[Signal] public delegate void FieldCreatedEventHandler();
|
||||
|
||||
//Validate
|
||||
|
||||
@@ -33,6 +35,7 @@ public partial class FieldService2D : Node2D
|
||||
if (!fields.ContainsKey(key))
|
||||
{
|
||||
fields.Add(key, field);
|
||||
EmitSignal(SignalName.FieldCreated);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -14,6 +14,7 @@ public partial class VesnaBehaviour2D : Node
|
||||
[Export] private ItemResource _wateringCan;
|
||||
|
||||
[Signal] public delegate void PickedUpToolEventHandler(bool success, int toolId);
|
||||
[Signal] public delegate void FilledWateringCanEventHandler();
|
||||
|
||||
private InventoryManager _inventoryManager;
|
||||
private InventoryInstance _inventoryInstance;
|
||||
@@ -64,8 +65,25 @@ public partial class VesnaBehaviour2D : Node
|
||||
{
|
||||
_farmingControls.FillWateringCan(true);
|
||||
_player2d.PlayWateringCanFillupAnimation();
|
||||
EmitSignal(SignalName.FilledWateringCan);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Enables the character movement in the Player2D script.
|
||||
/// </summary>
|
||||
public void EnableMovement()
|
||||
{
|
||||
_player2d.InputEnabled = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Disables the character movement in the Player2D script.
|
||||
/// </summary>
|
||||
public void DisableMovement()
|
||||
{
|
||||
_player2d.InputEnabled = false;
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user