From f6e83e7fefa5e792d17b5e7817df59f70fed09c4 Mon Sep 17 00:00:00 2001 From: kziolkowski Date: Tue, 16 Dec 2025 23:13:09 +0100 Subject: [PATCH] Added event handlers in Fieldbehaviour to react to watering can state changes --- scripts/CSharp/Common/Farming/FieldBehaviour2D.cs | 8 ++++++++ scripts/CSharp/Common/Farming/WateringCanState.cs | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs b/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs index a7a6c54..b27f55f 100644 --- a/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs +++ b/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs @@ -79,9 +79,17 @@ public partial class FieldBehaviour2D : Sprite2D, ISaveable public override void _EnterTree() { + WateringCanState.OnFill += UpdateInteractionArea; + WateringCanState.OnEmpty += UpdateInteractionArea; LoadFromSaveData(); } + public override void _ExitTree() + { + WateringCanState.OnFill -= UpdateInteractionArea; + WateringCanState.OnEmpty -= UpdateInteractionArea; + } + public override void _Ready() { if(PlantingPlaceholder.GetChildCount() > 0) diff --git a/scripts/CSharp/Common/Farming/WateringCanState.cs b/scripts/CSharp/Common/Farming/WateringCanState.cs index 359ee6f..9e6fb08 100644 --- a/scripts/CSharp/Common/Farming/WateringCanState.cs +++ b/scripts/CSharp/Common/Farming/WateringCanState.cs @@ -30,6 +30,7 @@ public static class WateringCanState public static event WateringCanDelegate WateringCanActiveStateChanged; public static event Action? OnWater; public static event Action? OnFill; + public static event Action? OnEmpty; @@ -52,6 +53,11 @@ public static class WateringCanState _fillstate--; OnWater?.Invoke(); } + + if (_fillstate == 0) + { + OnEmpty?.Invoke(); + } } ///