Added event handlers in Fieldbehaviour to react to watering can state changes

This commit is contained in:
2025-12-16 23:13:09 +01:00
parent 3bdc8cd03f
commit f6e83e7fef
2 changed files with 14 additions and 0 deletions
@@ -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)
@@ -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();
}
}
/// <summary>