WIP Beetroot

This commit is contained in:
2025-07-11 03:00:43 +02:00
parent ffa20bbdf8
commit eaedf8c396
19 changed files with 2455 additions and 49 deletions
@@ -26,8 +26,11 @@ public partial class PlantBehaviour2D : Node2D
[Export] private PlantState _state = PlantState.None;
[Export] private FieldBehaviour2D _field;
[Export] private ItemOnGround2D _harvestablePlant;
[Export] private CpuParticles2D _magicEffect;
private string _magicWordDialogicEventName = "MagicWord";
private Sprite2D _currentPlantSprite = null;
private bool _magicWordSaid;
/// <summary>
@@ -35,7 +38,7 @@ public partial class PlantBehaviour2D : Node2D
/// </summary>
public void Grow()
{
if (_field.FieldState != FieldState.Watered)
if (_field.FieldState != FieldState.Watered || !_magicWordSaid)
return;
GetTree().CallGroup("PlantGrowing", Player2D.MethodName.PlayFarmingAnimation);
@@ -76,6 +79,7 @@ public partial class PlantBehaviour2D : Node2D
}
_field.UpdateFieldState(FieldState.Tilled);
_magicWordSaid = false;
}
private Sprite2D GetRandomSprite(Sprite2D[] sprites)
@@ -83,4 +87,16 @@ public partial class PlantBehaviour2D : Node2D
Random rand = new Random();
return sprites[rand.Next(sprites.Length)];
}
public void SayMagicWord(string wordEvent)
{
GD.Print("Calling Dialogic event: " + wordEvent);
if (_magicWordDialogicEventName != wordEvent)
return;
_magicEffect.Emitting = true;
_magicEffect.OneShot = true;
_magicWordSaid = true;
Grow();
}
}