Files

60 lines
1.4 KiB
C#
Raw Permalink Normal View History

2025-04-24 23:36:23 +02:00
using System.Diagnostics;
2025-04-04 00:22:35 +02:00
using Godot;
2025-04-24 23:36:23 +02:00
namespace Babushka.scripts.CSharp.Common.Farming
2025-04-04 00:22:35 +02:00
{
2025-04-24 23:36:23 +02:00
public enum FieldState
2025-04-06 23:13:25 +02:00
{
2025-04-24 23:36:23 +02:00
Empty = 0,
Tilled = 1,
Planted = 2,
Watered = 3,
NotFound = 99
2025-04-06 23:13:25 +02:00
}
2025-04-24 23:36:23 +02:00
[GlobalClass]
public partial class FieldBehaviour : Sprite3D
{
2025-04-24 23:36:23 +02:00
[Export] private Texture2D Tilled;
[Export] private Texture2D Watered;
[Export] public FieldState FieldState = FieldState.Empty;
public Vector2 FieldPosition;
public override void _Ready()
2025-04-04 00:22:35 +02:00
{
2025-04-24 23:36:23 +02:00
Texture = Tilled;
base._Ready();
2025-04-04 00:22:35 +02:00
}
2025-04-24 23:36:23 +02:00
public void Water()
{
FieldState = FieldState.Watered;
Texture = Watered;
}
/// <summary>
/// Called when the player enters the field'S interaction area and presses <E>.
/// </summary>
public void Farm()
{
switch (FieldState)
{
case FieldState.Empty:
Texture = Tilled;
FieldState = FieldState.Tilled;
break;
case FieldState.Tilled:
FieldState = FieldState.Planted;
break;
case FieldState.Planted:
break;
default:
break;
}
2025-04-04 00:22:35 +02:00
2025-04-24 23:36:23 +02:00
}
2025-04-04 00:22:35 +02:00
}
2025-04-24 23:36:23 +02:00
}