Separated farming controls from vesna behvaiour and adjusted the setup

This commit is contained in:
2025-04-13 14:35:14 +02:00
parent 6016f1cf38
commit ce5d2b65d3
3 changed files with 42 additions and 9 deletions
@@ -0,0 +1,25 @@
using Babushka.scripts.CSharp.Common.Farming;
using Godot;
namespace Babushka.scripts.CSharp.Common.CharacterControls;
public partial class VesnaBehaviour : Node
{
[ExportGroup("Farming")]
[Export] private Node _fieldParent;
[Export] private FarmingControls _farmingControls;
public override void _Ready()
{
_farmingControls.FieldParent = _fieldParent;
}
#region Farming
public void ActivateHoe(bool activate)
{
_farmingControls.ActivateHoe(activate);
}
#endregion
}
@@ -2,13 +2,15 @@ using Godot;
namespace Babushka.scripts.CSharp.Common.Farming;
[GlobalClass]
public partial class FarmingControls : Node3D
{
[Export] private Sprite3D _hoeSprite;
[Export] private PackedScene _fieldPrefab;
[Export] private Node _fieldParent;
[Export] private Node3D _movingPlayer;
public Node FieldParent;
private bool _hoeInHand = false;
public void ActivateHoe(bool activate)
{
@@ -26,7 +28,7 @@ public partial class FarmingControls : Node3D
private void MakeField()
{
if(_fieldParent == null || _fieldPrefab == null)
if(FieldParent == null || _fieldPrefab == null)
return;
Node fieldInstance = _fieldPrefab.Instantiate();
@@ -36,7 +38,7 @@ public partial class FarmingControls : Node3D
field3d.Position = _movingPlayer.GlobalPosition;
}
_fieldParent.AddChild(fieldInstance);
FieldParent.AddChild(fieldInstance);
}