planting, growing and watering a little less dependent than before

pull/16/head
Katharina Ziolkowski 8 months ago
parent 7fd26ffed3
commit d0ba4076b3

@ -39,7 +39,7 @@ public partial class FieldBehaviour2D : Sprite2D
case FieldState.Tilled: case FieldState.Tilled:
FieldState = FieldState.Tilled; FieldState = FieldState.Tilled;
_fieldSprite.Texture = Tilled; _fieldSprite.Texture = Tilled;
PlantingInteraction.IsActive = false; PlantingInteraction.IsActive = true;
break; break;
case FieldState.Watered: case FieldState.Watered:
FieldState = FieldState.Watered; FieldState = FieldState.Watered;
@ -67,15 +67,12 @@ public partial class FieldBehaviour2D : Sprite2D
/// Called when the player enters the field's interaction area and presses <E>. /// Called when the player enters the field's interaction area and presses <E>.
/// </summary> /// </summary>
public void Farm() public void Farm()
{
if (FieldState == FieldState.Watered)
{ {
if (TryPlant()) if (TryPlant())
{ {
UpdateFieldState(FieldState.Planted); UpdateFieldState(FieldState.Planted);
} }
} }
}
private bool TryPlant() private bool TryPlant()
{ {
@ -100,7 +97,6 @@ public partial class FieldBehaviour2D : Sprite2D
if (plantBehaviour != null) if (plantBehaviour != null)
{ {
plantBehaviour.Field = this; plantBehaviour.Field = this;
plantBehaviour.Grow();
} }
success = true; success = true;

@ -35,6 +35,13 @@ public partial class PlantBehaviour2D : Node2D
set => _field = value; set => _field = value;
} }
public override void _Ready()
{
_state = PlantState.Planted;
_currentPlantSprite = GetRandomSprite(_seeds);
_currentPlantSprite.Visible = true;
}
/// <summary> /// <summary>
/// Transitions the plant to its next growth stage. /// Transitions the plant to its next growth stage.
@ -45,8 +52,6 @@ public partial class PlantBehaviour2D : Node2D
return; return;
GetTree().CallGroup("PlantGrowing", VesnaAnimations.MethodName.PlayFarmingAnimation); GetTree().CallGroup("PlantGrowing", VesnaAnimations.MethodName.PlayFarmingAnimation);
// todo:
// find out why the last plant stage is being skipped the second time around
switch (_state) switch (_state)
{ {
case PlantState.None: case PlantState.None:

Loading…
Cancel
Save