Added event handlers in Fieldbehaviour to react to watering can state changes
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user