From d0ba4076b37a095405950a9f9463fc0c04274614 Mon Sep 17 00:00:00 2001 From: kziolkowski Date: Sun, 17 Aug 2025 22:11:18 +0200 Subject: [PATCH] planting, growing and watering a little less dependent than before --- scripts/CSharp/Common/Farming/FieldBehaviour2D.cs | 10 +++------- scripts/CSharp/Common/Farming/PlantBehaviour2D.cs | 9 +++++++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs b/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs index 6b109aa..5bb384a 100644 --- a/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs +++ b/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs @@ -39,7 +39,7 @@ public partial class FieldBehaviour2D : Sprite2D case FieldState.Tilled: FieldState = FieldState.Tilled; _fieldSprite.Texture = Tilled; - PlantingInteraction.IsActive = false; + PlantingInteraction.IsActive = true; break; case FieldState.Watered: FieldState = FieldState.Watered; @@ -68,12 +68,9 @@ public partial class FieldBehaviour2D : Sprite2D /// public void Farm() { - if (FieldState == FieldState.Watered) + if (TryPlant()) { - if (TryPlant()) - { - UpdateFieldState(FieldState.Planted); - } + UpdateFieldState(FieldState.Planted); } } @@ -100,7 +97,6 @@ public partial class FieldBehaviour2D : Sprite2D if (plantBehaviour != null) { plantBehaviour.Field = this; - plantBehaviour.Grow(); } success = true; diff --git a/scripts/CSharp/Common/Farming/PlantBehaviour2D.cs b/scripts/CSharp/Common/Farming/PlantBehaviour2D.cs index 345f2a9..1fb0cc2 100644 --- a/scripts/CSharp/Common/Farming/PlantBehaviour2D.cs +++ b/scripts/CSharp/Common/Farming/PlantBehaviour2D.cs @@ -34,6 +34,13 @@ public partial class PlantBehaviour2D : Node2D get => _field; set => _field = value; } + + public override void _Ready() + { + _state = PlantState.Planted; + _currentPlantSprite = GetRandomSprite(_seeds); + _currentPlantSprite.Visible = true; + } /// @@ -45,8 +52,6 @@ public partial class PlantBehaviour2D : Node2D return; GetTree().CallGroup("PlantGrowing", VesnaAnimations.MethodName.PlayFarmingAnimation); - // todo: - // find out why the last plant stage is being skipped the second time around switch (_state) { case PlantState.None: