From 7bb523f9e75c10c3f50b31cc152d078b0b9a705e Mon Sep 17 00:00:00 2001 From: kziolkowski Date: Sat, 6 Dec 2025 20:47:56 +0100 Subject: [PATCH] :bug: harvested plants don't come back on scene reload --- prefabs/farm/plants/base_plant.tscn | 1 + scripts/CSharp/Common/Farming/FieldBehaviour2D.cs | 6 ++++++ scripts/CSharp/Common/Farming/PlantBehaviour2D.cs | 5 +++++ 3 files changed, 12 insertions(+) diff --git a/prefabs/farm/plants/base_plant.tscn b/prefabs/farm/plants/base_plant.tscn index b234d2b..f20e3ab 100644 --- a/prefabs/farm/plants/base_plant.tscn +++ b/prefabs/farm/plants/base_plant.tscn @@ -215,6 +215,7 @@ Payload = 3 [connection signal="Interacted" from="GrowingInteractionArea" to="." method="Grow"] [connection signal="SuccessfulPickUp" from="ReadyPlantInventoryItem" to="." method="queue_free"] +[connection signal="Interacted" from="ReadyPlantInventoryItem/PickupInteractionArea" to="." method="Harvest"] [editable path="GrowingInteractionArea"] [editable path="ReadyPlantInventoryItem"] diff --git a/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs b/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs index 4f1e2c0..969681b 100644 --- a/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs +++ b/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs @@ -204,6 +204,12 @@ public partial class FieldBehaviour2D : Sprite2D, ISaveable _currentPlant.Field = this; } } + + public void HarvestPlant() + { + _currentPlant = null; + UpdateFieldState(FieldState.Empty, true); + } #region SAVE AND LOAD diff --git a/scripts/CSharp/Common/Farming/PlantBehaviour2D.cs b/scripts/CSharp/Common/Farming/PlantBehaviour2D.cs index 0d43e20..660e304 100644 --- a/scripts/CSharp/Common/Farming/PlantBehaviour2D.cs +++ b/scripts/CSharp/Common/Farming/PlantBehaviour2D.cs @@ -200,4 +200,9 @@ public partial class PlantBehaviour2D : Node2D _magicWordSaid = true; Grow(); } + + public void Harvest() + { + Field.HarvestPlant(); + } } \ No newline at end of file