planting, growing and watering a little less dependent than before

feature/showcase_bugfixing_kathi_partII_quickfix
kziolkowski 5 months ago
parent 7fd26ffed3
commit d0ba4076b3

@ -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
/// </summary>
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;

@ -35,6 +35,13 @@ public partial class PlantBehaviour2D : Node2D
set => _field = value;
}
public override void _Ready()
{
_state = PlantState.Planted;
_currentPlantSprite = GetRandomSprite(_seeds);
_currentPlantSprite.Visible = true;
}
/// <summary>
/// Transitions the plant to its next growth stage.
@ -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:

Loading…
Cancel
Save