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