Diversified field shapes

This commit is contained in:
2025-07-06 23:48:01 +02:00
parent e8a58655ad
commit 2f5296e05a
8 changed files with 132 additions and 14 deletions
@@ -1,3 +1,4 @@
using System;
using Babushka.scripts.CSharp.Common.CharacterControls;
using Godot;
@@ -15,6 +16,9 @@ public enum FieldState
[GlobalClass]
public partial class FieldBehaviour2D : Sprite2D
{
[Export] private Sprite2D _fieldSprite;
[Export] private Sprite2D _maskSprite;
[Export] private Texture2D[] _maskTexture;
[Export] private Texture2D Tilled;
[Export] private Texture2D Watered;
[Export] public FieldState FieldState = FieldState.Tilled;
@@ -25,6 +29,8 @@ public partial class FieldBehaviour2D : Sprite2D
public override void _Ready()
{
UpdateFieldState(FieldState);
int randomIndex = new Random().Next(0, _maskTexture.Length);
_maskSprite.Texture = _maskTexture[randomIndex];
base._Ready();
}
@@ -37,12 +43,12 @@ public partial class FieldBehaviour2D : Sprite2D
break;
case FieldState.Tilled:
FieldState = FieldState.Tilled;
Texture = Tilled;
_fieldSprite.Texture = Tilled;
_growingCollider.Visible = false;
break;
case FieldState.Watered:
FieldState = FieldState.Watered;
Texture = Watered;
_fieldSprite.Texture = Watered;
_growingCollider.Visible = true;
break;
case FieldState.Planted:
@@ -58,7 +64,7 @@ public partial class FieldBehaviour2D : Sprite2D
public void Water()
{
FieldState = FieldState.Watered;
Texture = Watered;
_fieldSprite.Texture = Watered;
}
/// <summary>
@@ -69,7 +75,7 @@ public partial class FieldBehaviour2D : Sprite2D
switch (FieldState)
{
case FieldState.Empty:
Texture = Tilled;
_fieldSprite.Texture = Tilled;
FieldState = FieldState.Tilled;
break;
case FieldState.Watered: