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://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="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="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"]
|
[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
|
"speed": 25.0
|
||||||
}]
|
}]
|
||||||
|
|
||||||
[node name="Player3d" type="Node3D" node_paths=PackedStringArray("_hoeSprite", "_movingPlayer")]
|
[node name="Player3d" type="Node3D" node_paths=PackedStringArray("_farmingControls")]
|
||||||
script = ExtResource("4_q5t2e")
|
script = ExtResource("1_pkl5l")
|
||||||
_hoeSprite = NodePath("CharacterBody3D/Farming/Hoe")
|
_farmingControls = NodePath("FarmingControls")
|
||||||
_fieldPrefab = ExtResource("2_oq5hi")
|
|
||||||
_movingPlayer = NodePath("CharacterBody3D")
|
|
||||||
|
|
||||||
[node name="CharacterBody3D" type="CharacterBody3D" parent="." node_paths=PackedStringArray("_camera", "_frontSpritesAnimated", "_sideSpritesAnimated", "_backSpritesAnimated")]
|
[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)
|
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")
|
sprite_frames = SubResource("SpriteFrames_4q8ml")
|
||||||
autoplay = "default"
|
autoplay = "default"
|
||||||
frame_progress = 0.481133
|
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;
|
namespace Babushka.scripts.CSharp.Common.Farming;
|
||||||
|
|
||||||
|
[GlobalClass]
|
||||||
public partial class FarmingControls : Node3D
|
public partial class FarmingControls : Node3D
|
||||||
{
|
{
|
||||||
[Export] private Sprite3D _hoeSprite;
|
[Export] private Sprite3D _hoeSprite;
|
||||||
[Export] private PackedScene _fieldPrefab;
|
[Export] private PackedScene _fieldPrefab;
|
||||||
[Export] private Node _fieldParent;
|
|
||||||
[Export] private Node3D _movingPlayer;
|
[Export] private Node3D _movingPlayer;
|
||||||
|
|
||||||
|
public Node FieldParent;
|
||||||
|
|
||||||
private bool _hoeInHand = false;
|
private bool _hoeInHand = false;
|
||||||
public void ActivateHoe(bool activate)
|
public void ActivateHoe(bool activate)
|
||||||
{
|
{
|
||||||
@@ -26,7 +28,7 @@ public partial class FarmingControls : Node3D
|
|||||||
|
|
||||||
private void MakeField()
|
private void MakeField()
|
||||||
{
|
{
|
||||||
if(_fieldParent == null || _fieldPrefab == null)
|
if(FieldParent == null || _fieldPrefab == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Node fieldInstance = _fieldPrefab.Instantiate();
|
Node fieldInstance = _fieldPrefab.Instantiate();
|
||||||
@@ -36,7 +38,7 @@ public partial class FarmingControls : Node3D
|
|||||||
field3d.Position = _movingPlayer.GlobalPosition;
|
field3d.Position = _movingPlayer.GlobalPosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
_fieldParent.AddChild(fieldInstance);
|
FieldParent.AddChild(fieldInstance);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user