Separated farming controls from vesna behvaiour and adjusted the setup
This commit is contained in:
+12
-6
@@ -1,6 +1,7 @@
|
||||
[gd_scene load_steps=302 format=3 uid="uid://dbd1niu3tp8y5"]
|
||||
[gd_scene load_steps=303 format=3 uid="uid://dbd1niu3tp8y5"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b4ugrget2x6lb" path="res://scripts/CSharp/Common/CharacterControls/Player3D.cs" id="1_3trg2"]
|
||||
[ext_resource type="Script" uid="uid://bblprbhnbyv77" path="res://scripts/CSharp/Common/CharacterControls/VesnaBehaviour.cs" id="1_pkl5l"]
|
||||
[ext_resource type="Texture2D" uid="uid://duaideiajsu8r" path="res://art/characters/Vesna/babushka concept art vesna.png" id="2_3trg2"]
|
||||
[ext_resource type="PackedScene" uid="uid://biwd3jj65qrlh" path="res://prefabs/farming/base_field.tscn" id="2_oq5hi"]
|
||||
[ext_resource type="Script" uid="uid://r5tahuqvbucy" path="res://scripts/CSharp/Common/Camera/CameraPivot.cs" id="3_3trg2"]
|
||||
@@ -1210,11 +1211,9 @@ animations = [{
|
||||
"speed": 25.0
|
||||
}]
|
||||
|
||||
[node name="Player3d" type="Node3D" node_paths=PackedStringArray("_hoeSprite", "_movingPlayer")]
|
||||
script = ExtResource("4_q5t2e")
|
||||
_hoeSprite = NodePath("CharacterBody3D/Farming/Hoe")
|
||||
_fieldPrefab = ExtResource("2_oq5hi")
|
||||
_movingPlayer = NodePath("CharacterBody3D")
|
||||
[node name="Player3d" type="Node3D" node_paths=PackedStringArray("_farmingControls")]
|
||||
script = ExtResource("1_pkl5l")
|
||||
_farmingControls = NodePath("FarmingControls")
|
||||
|
||||
[node name="CharacterBody3D" type="CharacterBody3D" parent="." node_paths=PackedStringArray("_camera", "_frontSpritesAnimated", "_sideSpritesAnimated", "_backSpritesAnimated")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.000654221, 0.102765, -0.00300497)
|
||||
@@ -1330,3 +1329,10 @@ render_priority = 50
|
||||
sprite_frames = SubResource("SpriteFrames_4q8ml")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.481133
|
||||
|
||||
[node name="FarmingControls" type="Node3D" parent="." node_paths=PackedStringArray("_hoeSprite", "_movingPlayer")]
|
||||
script = ExtResource("4_q5t2e")
|
||||
_hoeSprite = NodePath("../CharacterBody3D/Farming/Hoe")
|
||||
_fieldPrefab = ExtResource("2_oq5hi")
|
||||
_movingPlayer = NodePath("../CharacterBody3D")
|
||||
metadata/_custom_type_script = "uid://b1sscdr4ptec8"
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user