♻️ refactored field code to work with the new id system

pull/32/head
kziolkowski 2 months ago
parent e9cd4ce276
commit 9d818e5079

@ -28,7 +28,7 @@
resource_local_to_scene = true resource_local_to_scene = true
radius = 325.2599 radius = 325.2599
[node name="BaseField" type="Node2D"] [node name="BaseField" type="Node2D" groups=["Saveable"]]
script = ExtResource("1_4mg73") script = ExtResource("1_4mg73")
Payload = 0 Payload = 0
@ -38,13 +38,13 @@ z_index = 1
scale = Vector2(1.3499999, 1.5) scale = Vector2(1.3499999, 1.5)
texture = ExtResource("9_wx561") texture = ExtResource("9_wx561")
[node name="FieldBehaviour" type="Sprite2D" parent="." node_paths=PackedStringArray("_fieldIndex", "_fieldSprite", "_maskSprite", "_outlineSprite", "PlantingInteraction", "FieldInteractionArea", "PlantingPlaceholder", "_wateringParticles")] [node name="FieldBehaviour" type="Sprite2D" parent="." node_paths=PackedStringArray("_fieldIndex", "_saveIdHolder", "_fieldSprite", "_maskSprite", "_outlineSprite", "PlantingInteraction", "FieldInteractionArea", "PlantingPlaceholder", "_wateringParticles")]
visible = false visible = false
z_index = -1 z_index = -1
scale = Vector2(0.9, 1) scale = Vector2(0.9, 1)
script = ExtResource("1_qa01x") script = ExtResource("1_qa01x")
SaveId = "field"
_fieldIndex = NodePath("..") _fieldIndex = NodePath("..")
_saveIdHolder = NodePath("..")
_sceneKeyProvider = ExtResource("11_cjahb") _sceneKeyProvider = ExtResource("11_cjahb")
FieldState = 0 FieldState = 0
_fieldSprite = NodePath("MaskedField/FieldTexture") _fieldSprite = NodePath("MaskedField/FieldTexture")

@ -32,7 +32,6 @@ InputService="*res://scripts/CSharp/Common/Services/InputService.cs"
QuestManager="*res://prefabs/quests/quest_manager_autoload.tscn" QuestManager="*res://prefabs/quests/quest_manager_autoload.tscn"
Signal_Debugger="*res://addons/SignalVisualizer/Debugger/SignalDebugger.gd" Signal_Debugger="*res://addons/SignalVisualizer/Debugger/SignalDebugger.gd"
FightWorldAutoload="*res://prefabs/fight/fight_world_autoload.tscn" FightWorldAutoload="*res://prefabs/fight/fight_world_autoload.tscn"
FieldService="*res://scripts/CSharp/Common/Farming/FieldService.cs"
SaveGameManager="*res://scripts/CSharp/Common/Savegame/SaveGameManager.cs" SaveGameManager="*res://scripts/CSharp/Common/Savegame/SaveGameManager.cs"
SettingsSaveController="*res://scripts/CSharp/Common/Savegame/SettingsSaveController.cs" SettingsSaveController="*res://scripts/CSharp/Common/Savegame/SettingsSaveController.cs"

@ -1142,58 +1142,72 @@ position = Vector2(0, -200)
[node name="BaseField" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")] [node name="BaseField" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")]
position = Vector2(8807, 3061) position = Vector2(8807, 3061)
metadata/SaveID = "533e356b-386b-49c9-beb1-4484f2a5164f"
[node name="BaseField2" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")] [node name="BaseField2" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")]
position = Vector2(9335, 3562) position = Vector2(9335, 3562)
Payload = 1 Payload = 1
metadata/SaveID = "79084490-9e12-4153-9ae8-6162b5348c37"
[node name="BaseField3" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")] [node name="BaseField3" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")]
position = Vector2(9854, 3071) position = Vector2(9854, 3071)
Payload = 2 Payload = 2
metadata/SaveID = "7332aadf-2583-468b-889c-ccbad96137f8"
[node name="BaseField4" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")] [node name="BaseField4" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")]
position = Vector2(10361, 3536) position = Vector2(10361, 3536)
Payload = 3 Payload = 3
metadata/SaveID = "493f7b1f-3d01-4d66-b668-6014ef9b3c15"
[node name="BaseField5" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")] [node name="BaseField5" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")]
position = Vector2(10948, 3025) position = Vector2(10948, 3025)
Payload = 4 Payload = 4
metadata/SaveID = "ba9d21eb-7c31-4459-bd90-ae23e9a09eb1"
[node name="BaseField6" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")] [node name="BaseField6" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")]
position = Vector2(11296, 3607) position = Vector2(11296, 3607)
Payload = 5 Payload = 5
metadata/SaveID = "e6a3367e-afe1-4c5d-abd9-153cc365dce0"
[node name="BaseField7" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")] [node name="BaseField7" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")]
position = Vector2(11869, 3026) position = Vector2(11869, 3026)
Payload = 6 Payload = 6
metadata/SaveID = "08de526f-e22f-42a4-a3f9-549d2dc15b5d"
[node name="BaseField8" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")] [node name="BaseField8" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")]
position = Vector2(12353, 3554) position = Vector2(12353, 3554)
Payload = 7 Payload = 7
metadata/SaveID = "9fd46633-8028-48e6-9176-ffe8c7a26a2e"
[node name="BaseField9" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")] [node name="BaseField9" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")]
position = Vector2(12828, 2999) position = Vector2(12828, 2999)
Payload = 8 Payload = 8
metadata/SaveID = "82e139eb-47f4-4ce4-962f-f72d22f9fe45"
[node name="BaseField10" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")] [node name="BaseField10" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")]
position = Vector2(13285, 3536) position = Vector2(13285, 3536)
Payload = 9 Payload = 9
metadata/SaveID = "03ff923a-614a-4fc9-8865-f5290ec16169"
[node name="BaseField11" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")] [node name="BaseField11" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")]
position = Vector2(13733, 2990) position = Vector2(13733, 2990)
Payload = 10 Payload = 10
metadata/SaveID = "1347c031-e8c0-44f9-9d42-80084ae9bc29"
[node name="BaseField12" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")] [node name="BaseField12" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")]
position = Vector2(14261, 3474) position = Vector2(14261, 3474)
Payload = 11 Payload = 11
metadata/SaveID = "c0b02859-bd5c-4780-8ca7-80b4234ee1d7"
[node name="BaseField13" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")] [node name="BaseField13" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")]
position = Vector2(14753, 2982) position = Vector2(14753, 2982)
Payload = 12 Payload = 12
metadata/SaveID = "bee82b2a-a437-4d3a-b003-dac55dfd24aa"
[node name="BaseField14" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")] [node name="BaseField14" parent="YSorted/FieldParent/right" instance=ExtResource("78_xcwle")]
position = Vector2(15201, 3519) position = Vector2(15201, 3519)
Payload = 13 Payload = 13
metadata/SaveID = "4750a191-6902-46d4-9b2e-964c1aa0a29c"
[node name="left" type="Node2D" parent="YSorted/FieldParent"] [node name="left" type="Node2D" parent="YSorted/FieldParent"]
position = Vector2(-8661, -143) position = Vector2(-8661, -143)
@ -1201,50 +1215,62 @@ position = Vector2(-8661, -143)
[node name="BaseField" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")] [node name="BaseField" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")]
position = Vector2(8807, 3061) position = Vector2(8807, 3061)
Payload = 14 Payload = 14
metadata/SaveID = "b44ef2e7-898a-40d0-975b-ba75d7df4601"
[node name="BaseField2" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")] [node name="BaseField2" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")]
position = Vector2(9227, 3562) position = Vector2(9227, 3562)
Payload = 15 Payload = 15
metadata/SaveID = "5705ba02-f444-4f2b-b527-b95578132b87"
[node name="BaseField3" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")] [node name="BaseField3" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")]
position = Vector2(9756, 3111) position = Vector2(9756, 3111)
Payload = 16 Payload = 16
metadata/SaveID = "bca9073b-0b2f-4371-a645-a37aa04f4e23"
[node name="BaseField4" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")] [node name="BaseField4" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")]
position = Vector2(10322, 3536) position = Vector2(10322, 3536)
Payload = 17 Payload = 17
metadata/SaveID = "f636a1ef-016d-4361-9b6e-1d59262a8c04"
[node name="BaseField5" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")] [node name="BaseField5" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")]
position = Vector2(10810, 3055) position = Vector2(10810, 3055)
Payload = 18 Payload = 18
metadata/SaveID = "d074a30d-3f52-4788-879a-4ea8c5818c32"
[node name="BaseField6" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")] [node name="BaseField6" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")]
position = Vector2(11266, 3607) position = Vector2(11266, 3607)
Payload = 19 Payload = 19
metadata/SaveID = "8296a15c-be4a-4127-b0f7-8a330dd2a843"
[node name="BaseField7" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")] [node name="BaseField7" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")]
position = Vector2(11741, 3026) position = Vector2(11741, 3026)
Payload = 20 Payload = 20
metadata/SaveID = "02468d9f-0120-42ff-806d-0aaa351f055c"
[node name="BaseField8" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")] [node name="BaseField8" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")]
position = Vector2(12255, 3593) position = Vector2(12255, 3593)
Payload = 21 Payload = 21
metadata/SaveID = "803f7df5-23a8-424a-8389-08371ea80101"
[node name="BaseField9" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")] [node name="BaseField9" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")]
position = Vector2(12690, 3019) position = Vector2(12690, 3019)
Payload = 22 Payload = 22
metadata/SaveID = "88efb617-5e57-4b16-8ceb-c45c56463690"
[node name="BaseField10" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")] [node name="BaseField10" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")]
position = Vector2(13216, 3556) position = Vector2(13216, 3556)
Payload = 23 Payload = 23
metadata/SaveID = "ca6c1e3d-2c4e-4977-a89e-55d265f65faf"
[node name="BaseField11" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")] [node name="BaseField11" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")]
position = Vector2(13684, 3000) position = Vector2(13684, 3000)
Payload = 24 Payload = 24
metadata/SaveID = "262fbec5-597d-432e-8dd0-50d53fd51b59"
[node name="BaseField12" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")] [node name="BaseField12" parent="YSorted/FieldParent/left" instance=ExtResource("78_xcwle")]
position = Vector2(14143, 3523) position = Vector2(14143, 3523)
Payload = 25 Payload = 25
metadata/SaveID = "05389ea3-d19b-42fc-8bf0-b0755437ec10"
[node name="Farm visuals" type="Node2D" parent="YSorted"] [node name="Farm visuals" type="Node2D" parent="YSorted"]
position = Vector2(-60, 122) position = Vector2(-60, 122)
@ -2542,10 +2568,12 @@ script = ExtResource("76_l7ekk")
_variableResource = ExtResource("77_xcwle") _variableResource = ExtResource("77_xcwle")
_payloadToSet = "farmOutside" _payloadToSet = "farmOutside"
[node name="SaveGameCheat" type="Node" parent="."] [node name="SaveSystem" type="Node" parent="."]
[node name="SaveGameCheat" type="Node" parent="SaveSystem"]
script = ExtResource("79_065st") script = ExtResource("79_065st")
[node name="SaveIDProvider" type="Node" parent="."] [node name="SaveIDProvider" type="Node" parent="SaveSystem"]
script = ExtResource("80_w1kgo") script = ExtResource("80_w1kgo")
[connection signal="FilledWateringCan" from="YSorted/Vesna" to="Audio/SFX/FillWater SFX2" method="PlayOneShot"] [connection signal="FilledWateringCan" from="YSorted/Vesna" to="Audio/SFX/FillWater SFX2" method="PlayOneShot"]

@ -1,4 +1,4 @@
[gd_scene load_steps=96 format=3 uid="uid://b3ibx4resa1f3"] [gd_scene load_steps=98 format=3 uid="uid://b3ibx4resa1f3"]
[ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="1_6krrk"] [ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="1_6krrk"]
[ext_resource type="Script" uid="uid://bqomwxclsbhd3" path="res://scripts/CSharp/Common/Camera/CameraController.cs" id="2_4ktoi"] [ext_resource type="Script" uid="uid://bqomwxclsbhd3" path="res://scripts/CSharp/Common/Camera/CameraController.cs" id="2_4ktoi"]
@ -52,7 +52,9 @@
[ext_resource type="AudioStream" uid="uid://bxh5m04vdo0sr" path="res://audio/sfx/Farming/SFX_Harke_04_Solo.wav" id="57_euap5"] [ext_resource type="AudioStream" uid="uid://bxh5m04vdo0sr" path="res://audio/sfx/Farming/SFX_Harke_04_Solo.wav" id="57_euap5"]
[ext_resource type="Resource" uid="uid://tt3d166mntmi" path="res://resources/low code/farming/var_sceneNameProvider.tres" id="57_hpgl7"] [ext_resource type="Resource" uid="uid://tt3d166mntmi" path="res://resources/low code/farming/var_sceneNameProvider.tres" id="57_hpgl7"]
[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer2D.cs" id="58_m3hs4"] [ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer2D.cs" id="58_m3hs4"]
[ext_resource type="Script" uid="uid://iquhbkr7pqeg" path="res://scripts/CSharp/Common/Savegame/SaveCheats.cs" id="58_qavgq"]
[ext_resource type="AudioStream" uid="uid://dapsknn486aee" path="res://audio/sfx/Farming/SFX_WateringPlants_01.wav" id="59_km2vg"] [ext_resource type="AudioStream" uid="uid://dapsknn486aee" path="res://audio/sfx/Farming/SFX_WateringPlants_01.wav" id="59_km2vg"]
[ext_resource type="Script" uid="uid://ca4s0algeij1h" path="res://scripts/CSharp/Common/Savegame/SaveIDProviderTool.cs" id="59_njxly"]
[ext_resource type="AudioStream" uid="uid://dnyne8wov50so" path="res://audio/sfx/Farming/SFX_WateringPlants_02.wav" id="60_qi2gu"] [ext_resource type="AudioStream" uid="uid://dnyne8wov50so" path="res://audio/sfx/Farming/SFX_WateringPlants_02.wav" id="60_qi2gu"]
[ext_resource type="AudioStream" uid="uid://fsiypqhql67w" path="res://audio/sfx/Farming/SFX_GettingWater_01.wav" id="61_wy1mx"] [ext_resource type="AudioStream" uid="uid://fsiypqhql67w" path="res://audio/sfx/Farming/SFX_GettingWater_01.wav" id="61_wy1mx"]
[ext_resource type="AudioStream" uid="uid://foyw26hq1qp5" path="res://audio/sfx/Farming/SFX_GettingWater_02.wav" id="62_kmjnt"] [ext_resource type="AudioStream" uid="uid://foyw26hq1qp5" path="res://audio/sfx/Farming/SFX_GettingWater_02.wav" id="62_kmjnt"]
@ -1749,9 +1751,11 @@ scale = Vector2(1, 0.993819)
[node name="BaseField" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] [node name="BaseField" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")]
position = Vector2(651, 2630.26) position = Vector2(651, 2630.26)
scale = Vector2(1, 1.00622) scale = Vector2(1, 1.00622)
metadata/SaveID = "b3b47e69-6115-4405-8da6-508b783823d2"
[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField" index="1"] [node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField" index="1"]
visible = true visible = true
metadata/SaveID = "7a8210bf-479d-4b4c-9758-98d23e59d5d7"
[node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")] [node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")]
_state = 2 _state = 2
@ -1767,9 +1771,11 @@ shape = SubResource("CircleShape2D_qavgq")
position = Vector2(1226, 3098.15) position = Vector2(1226, 3098.15)
scale = Vector2(1, 1.00622) scale = Vector2(1, 1.00622)
Payload = 1 Payload = 1
metadata/SaveID = "f536efd3-3da8-4ef5-a520-570220e6c19f"
[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField2" index="1"] [node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField2" index="1"]
visible = true visible = true
metadata/SaveID = "a1d8a0a2-c51c-4410-83c3-0edb31cbf2de"
[node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField2/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")] [node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField2/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")]
_state = 2 _state = 2
@ -1785,9 +1791,11 @@ shape = SubResource("CircleShape2D_njxly")
position = Vector2(1782, 2606.11) position = Vector2(1782, 2606.11)
scale = Vector2(1, 1.00622) scale = Vector2(1, 1.00622)
Payload = 2 Payload = 2
metadata/SaveID = "14ce64d5-8a4d-43b9-a8ff-3a57725c4dc8"
[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField3" index="1"] [node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField3" index="1"]
visible = true visible = true
metadata/SaveID = "79a65532-cb2b-4268-8eb0-8c41a3935cbb"
[node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField3/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")] [node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField3/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")]
_state = 2 _state = 2
@ -1803,10 +1811,12 @@ shape = SubResource("CircleShape2D_54ty3")
position = Vector2(2559, 2624.22) position = Vector2(2559, 2624.22)
scale = Vector2(1, 1.00622) scale = Vector2(1, 1.00622)
Payload = 3 Payload = 3
metadata/SaveID = "6872ce5d-6f42-47d7-97e2-a7214ff3b08c"
[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField4" index="1"] [node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField4" index="1"]
visible = true visible = true
FieldState = 3 FieldState = 3
metadata/SaveID = "13fa64a3-01dc-4fd8-822e-0839c0da3163"
[node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField4/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")] [node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField4/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")]
_state = 2 _state = 2
@ -1822,10 +1832,12 @@ shape = SubResource("CircleShape2D_gbxtf")
position = Vector2(3305, 2624.22) position = Vector2(3305, 2624.22)
scale = Vector2(1, 1.00622) scale = Vector2(1, 1.00622)
Payload = 4 Payload = 4
metadata/SaveID = "f163c38d-9ee0-4844-9def-479833febb4e"
[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField5" index="1"] [node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField5" index="1"]
visible = true visible = true
FieldState = 3 FieldState = 3
metadata/SaveID = "414ecdb9-f3c4-4fb9-81bd-6ca575784f78"
[node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField5/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")] [node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField5/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")]
_state = 2 _state = 2
@ -1841,10 +1853,12 @@ shape = SubResource("CircleShape2D_6krrk")
position = Vector2(4033, 2618.18) position = Vector2(4033, 2618.18)
scale = Vector2(1, 1.00622) scale = Vector2(1, 1.00622)
Payload = 5 Payload = 5
metadata/SaveID = "da691381-ee82-4f86-abf3-dda2c9f19337"
[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField6" index="1"] [node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField6" index="1"]
visible = true visible = true
FieldState = 3 FieldState = 3
metadata/SaveID = "b235febb-b231-4f8c-94e9-1f9d9f115b08"
[node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField6/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")] [node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField6/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")]
_state = 1 _state = 1
@ -1860,10 +1874,12 @@ shape = SubResource("CircleShape2D_4ktoi")
position = Vector2(4755, 2630.26) position = Vector2(4755, 2630.26)
scale = Vector2(1, 1.00622) scale = Vector2(1, 1.00622)
Payload = 6 Payload = 6
metadata/SaveID = "8116fa8b-b164-4d39-a1ed-6cd476d18f94"
[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField7" index="1"] [node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField7" index="1"]
visible = true visible = true
FieldState = 3 FieldState = 3
metadata/SaveID = "9ccdba91-812a-4c13-9ee0-12472e174fc9"
[node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField7/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")] [node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField7/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")]
_state = 2 _state = 2
@ -1879,10 +1895,12 @@ shape = SubResource("CircleShape2D_aaup4")
position = Vector2(4418, 3226.95) position = Vector2(4418, 3226.95)
scale = Vector2(1, 1.00622) scale = Vector2(1, 1.00622)
Payload = 7 Payload = 7
metadata/SaveID = "5298f423-4c3b-45b5-94fb-d4aef36bac21"
[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField8" index="1"] [node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField8" index="1"]
visible = true visible = true
FieldState = 3 FieldState = 3
metadata/SaveID = "da44e54a-0b76-4888-ad8b-782a9d146fa3"
[node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField8/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")] [node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField8/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")]
_state = 2 _state = 2
@ -1898,9 +1916,11 @@ shape = SubResource("CircleShape2D_v10dc")
position = Vector2(5317, 3208.83) position = Vector2(5317, 3208.83)
scale = Vector2(1, 1.00622) scale = Vector2(1, 1.00622)
Payload = 8 Payload = 8
metadata/SaveID = "0de8dc13-5851-4471-be35-309cd6687ebc"
[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField9" index="1"] [node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField9" index="1"]
visible = true visible = true
metadata/SaveID = "9919b294-04a1-4a16-9783-38c8aa0e291c"
[node name="FieldActivator" parent="YSorted/Farm visuals/FieldParent/BaseField9" index="7"] [node name="FieldActivator" parent="YSorted/Farm visuals/FieldParent/BaseField9" index="7"]
visible = false visible = false
@ -2031,6 +2051,14 @@ script = ExtResource("56_34r5t")
_variableResource = ExtResource("57_hpgl7") _variableResource = ExtResource("57_hpgl7")
_payloadToSet = "beetRootScene" _payloadToSet = "beetRootScene"
[node name="SaveSystem" type="Node" parent="."]
[node name="SaveGameCheat" type="Node" parent="SaveSystem"]
script = ExtResource("58_qavgq")
[node name="SaveIDProvider" type="Node" parent="SaveSystem"]
script = ExtResource("59_njxly")
[connection signal="FilledWateringCan" from="YSorted/Vesna" to="Audio/SFX/FillWater SFX2" method="PlayOneShot"] [connection signal="FilledWateringCan" from="YSorted/Vesna" to="Audio/SFX/FillWater SFX2" method="PlayOneShot"]
[connection signal="InteractedTool" from="YSorted/Brünnen/InteractionArea" to="YSorted/Vesna" method="TryFillWateringCan"] [connection signal="InteractedTool" from="YSorted/Brünnen/InteractionArea" to="YSorted/Vesna" method="TryFillWateringCan"]
[connection signal="InteractedTool" from="YSorted/Blocker/BackToFarm" to="." method="LoadSceneAtIndex"] [connection signal="InteractedTool" from="YSorted/Blocker/BackToFarm" to="." method="LoadSceneAtIndex"]

@ -16,8 +16,8 @@ namespace Babushka.scripts.CSharp.Common.Farming;
public partial class FieldBehaviour2D : Sprite2D, ISaveable public partial class FieldBehaviour2D : Sprite2D, ISaveable
{ {
[ExportGroup("Persistence")] [ExportGroup("Persistence")]
[Export] public string SaveId = "";
[Export] private VariableNode _fieldIndex; [Export] private VariableNode _fieldIndex;
[Export] private Node _saveIdHolder;
[Export] public VariableResource _sceneKeyProvider; [Export] public VariableResource _sceneKeyProvider;
[Export] public FieldState FieldState = FieldState.Tilled; [Export] public FieldState FieldState = FieldState.Tilled;
@ -78,8 +78,6 @@ public partial class FieldBehaviour2D : Sprite2D, ISaveable
_currentPlant = PlantingPlaceholder.GetChild<PlantBehaviour2D>(0); _currentPlant = PlantingPlaceholder.GetChild<PlantBehaviour2D>(0);
UpdateFieldState(FieldState); UpdateFieldState(FieldState);
FieldService.Instance.TryAddEntry(_sceneKeyProvider.Payload.AsString(),_fieldIndex.Payload.AsInt32(), this);
int randomIndex = new Random().Next(0, _maskTexture.Length); int randomIndex = new Random().Next(0, _maskTexture.Length);
_maskSprite.Texture = _maskTexture[randomIndex]; _maskSprite.Texture = _maskTexture[randomIndex];
_outlineSprite.Texture = _maskOutlineTextures[randomIndex]; _outlineSprite.Texture = _maskOutlineTextures[randomIndex];
@ -202,12 +200,13 @@ public partial class FieldBehaviour2D : Sprite2D, ISaveable
); );
} }
SavegameService.AppendDataToSave(SaveId + _fieldIndex.Payload.AsString(), payloadData); string id = _saveIdHolder.GetMeta("SaveID").AsString();
SavegameService.AppendDataToSave(id, payloadData);
} }
public void LoadFromSaveData() public void LoadFromSaveData()
{ {
var id = SaveId + _fieldIndex.Payload.AsString(); string id = _saveIdHolder.GetMeta("SaveID").AsString();
Dictionary<string, Variant> save = SavegameService.GetSaveData(id); Dictionary<string, Variant> save = SavegameService.GetSaveData(id);

@ -1,100 +0,0 @@
using System.Collections.Generic;
using Godot;
namespace Babushka.scripts.CSharp.Common.Farming;
public partial class FieldService : Node
{
private Dictionary<string, FieldsInScene>? _outerDict = null!;
public static FieldService Instance { get; private set; } = null!;
public override void _EnterTree()
{
Instance = this;
_outerDict = new Dictionary<string, FieldsInScene>();
}
public override void _ExitTree()
{
Instance = null;
_outerDict = null;
}
//Create
public bool TryAddEntry(string sceneName, int fieldIndex, FieldBehaviour2D field)
{
if (_outerDict != null )
{
FieldsInScene innerDict;
bool outerDictEntryExists = _outerDict.TryGetValue(sceneName, out innerDict);
if (!outerDictEntryExists)
{
innerDict = new FieldsInScene();
_outerDict.Add(sceneName, innerDict);
}
if (!innerDict.fields.ContainsKey(fieldIndex))
{
innerDict.fields.Add(fieldIndex, field);
return true;
}
}
return false;
}
// Read
public FieldBehaviour2D? TryGet(string key, int fieldIndex)
{
if (_outerDict != null && _outerDict.TryGetValue(key, out FieldsInScene? field))
{
if (field.fields.TryGetValue(fieldIndex, out FieldBehaviour2D? fieldInstance))
{
return fieldInstance;
}
}
return null;
}
//Update
public void UpdateEntry(string key, int fieldIndex, FieldBehaviour2D state)
{
if (_outerDict != null && _outerDict.TryGetValue(key, out FieldsInScene? field))
{
if (field.fields.ContainsKey(fieldIndex))
{
field.fields[fieldIndex] = state;
}
else
{
TryAddEntry(key, fieldIndex, state);
}
}
}
//Delete
public void RemoveEntry(string key, int fieldIndex)
{
if (_outerDict != null && _outerDict.TryGetValue(key, out FieldsInScene? field))
{
if (field.fields.ContainsKey(fieldIndex))
{
field.fields.Remove(fieldIndex);
}
}
}
}
internal class FieldsInScene
{
public Dictionary<int, FieldBehaviour2D?> fields;
public FieldsInScene()
{
fields = new Dictionary<int, FieldBehaviour2D?>();
}
}
Loading…
Cancel
Save