WIP trying to toggle interactable colliders at runtime for fields
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=7 format=3 uid="uid://b1d2e7ely6hyw"]
|
[gd_scene load_steps=8 format=3 uid="uid://b1d2e7ely6hyw"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="1_femni"]
|
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="1_femni"]
|
||||||
[ext_resource type="Script" uid="uid://bdffon388rkty" path="res://scripts/CSharp/Common/Farming/FieldBehaviour2D.cs" id="2_femni"]
|
[ext_resource type="Script" uid="uid://bdffon388rkty" path="res://scripts/CSharp/Common/Farming/FieldBehaviour2D.cs" id="2_femni"]
|
||||||
@@ -6,9 +6,13 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://d3dq15edmgbwf" path="res://art/farm/tilable grounds/böden/nasse farming erde rund.png" id="4_lsfck"]
|
[ext_resource type="Texture2D" uid="uid://d3dq15edmgbwf" path="res://art/farm/tilable grounds/böden/nasse farming erde rund.png" id="4_lsfck"]
|
||||||
[ext_resource type="PackedScene" uid="uid://c3hwbwo423nbm" path="res://prefabs/farm/base_plant_2d.tscn" id="5_femni"]
|
[ext_resource type="PackedScene" uid="uid://c3hwbwo423nbm" path="res://prefabs/farm/base_plant_2d.tscn" id="5_femni"]
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id="CircleShape2D_yi42k"]
|
||||||
|
resource_local_to_scene = true
|
||||||
|
radius = 201.345
|
||||||
|
|
||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_femni"]
|
[sub_resource type="CircleShape2D" id="CircleShape2D_femni"]
|
||||||
resource_local_to_scene = true
|
resource_local_to_scene = true
|
||||||
radius = 300.0
|
radius = 194.926
|
||||||
|
|
||||||
[node name="BaseField" type="Node2D"]
|
[node name="BaseField" type="Node2D"]
|
||||||
|
|
||||||
@@ -17,13 +21,14 @@ visible = false
|
|||||||
z_index = 1
|
z_index = 1
|
||||||
scale = Vector2(2.225, 2.225)
|
scale = Vector2(2.225, 2.225)
|
||||||
|
|
||||||
[node name="FieldBehaviour" type="Sprite2D" parent="."]
|
[node name="FieldBehaviour" type="Sprite2D" parent="." node_paths=PackedStringArray("_growingCollider")]
|
||||||
z_index = -1
|
z_index = -1
|
||||||
scale = Vector2(0.9, 1)
|
scale = Vector2(0.9, 1)
|
||||||
texture = ExtResource("2_yi42k")
|
texture = ExtResource("2_yi42k")
|
||||||
script = ExtResource("2_femni")
|
script = ExtResource("2_femni")
|
||||||
Tilled = ExtResource("2_yi42k")
|
Tilled = ExtResource("2_yi42k")
|
||||||
Watered = ExtResource("4_lsfck")
|
Watered = ExtResource("4_lsfck")
|
||||||
|
_growingCollider = NodePath("BasePlant/InteractionArea")
|
||||||
|
|
||||||
[node name="BasePlant" parent="FieldBehaviour" node_paths=PackedStringArray("_field") instance=ExtResource("5_femni")]
|
[node name="BasePlant" parent="FieldBehaviour" node_paths=PackedStringArray("_field") instance=ExtResource("5_femni")]
|
||||||
_field = NodePath("..")
|
_field = NodePath("..")
|
||||||
@@ -31,9 +36,18 @@ _field = NodePath("..")
|
|||||||
[node name="BigPlant" parent="FieldBehaviour/BasePlant" index="2"]
|
[node name="BigPlant" parent="FieldBehaviour/BasePlant" index="2"]
|
||||||
position = Vector2(6, -161)
|
position = Vector2(6, -161)
|
||||||
|
|
||||||
|
[node name="InteractionArea" parent="FieldBehaviour/BasePlant" index="3"]
|
||||||
|
z_index = 3
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant/InteractionArea/Area2D" index="0"]
|
||||||
|
shape = SubResource("CircleShape2D_yi42k")
|
||||||
|
|
||||||
[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"]
|
[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"]
|
||||||
shape = SubResource("CircleShape2D_femni")
|
shape = SubResource("CircleShape2D_femni")
|
||||||
|
|
||||||
|
[node name="Label" parent="FieldBehaviour/BasePlant/ReadyPlantInventoryItem/InteractionArea2" index="1"]
|
||||||
|
visible = false
|
||||||
|
|
||||||
[node name="ReadyPlant" parent="FieldBehaviour/BasePlant/ReadyPlantInventoryItem" index="5"]
|
[node name="ReadyPlant" parent="FieldBehaviour/BasePlant/ReadyPlantInventoryItem" index="5"]
|
||||||
visible = false
|
visible = false
|
||||||
position = Vector2(0, -291.3)
|
position = Vector2(0, -291.3)
|
||||||
@@ -44,5 +58,6 @@ visible = true
|
|||||||
[connection signal="Interacted" from="InteractionArea2" to="FieldBehaviour/BasePlant" method="Grow"]
|
[connection signal="Interacted" from="InteractionArea2" to="FieldBehaviour/BasePlant" method="Grow"]
|
||||||
|
|
||||||
[editable path="FieldBehaviour/BasePlant"]
|
[editable path="FieldBehaviour/BasePlant"]
|
||||||
|
[editable path="FieldBehaviour/BasePlant/InteractionArea"]
|
||||||
[editable path="FieldBehaviour/BasePlant/ReadyPlantInventoryItem"]
|
[editable path="FieldBehaviour/BasePlant/ReadyPlantInventoryItem"]
|
||||||
[editable path="FieldBehaviour/BasePlant/ReadyPlantInventoryItem/InteractionArea2"]
|
[editable path="FieldBehaviour/BasePlant/ReadyPlantInventoryItem/InteractionArea2"]
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using Babushka.scripts.CSharp.Common.CharacterControls;
|
||||||
using Godot;
|
using Godot;
|
||||||
|
|
||||||
namespace Babushka.scripts.CSharp.Common.Farming;
|
namespace Babushka.scripts.CSharp.Common.Farming;
|
||||||
@@ -17,6 +18,7 @@ public partial class FieldBehaviour2D : Sprite2D
|
|||||||
[Export] private Texture2D Tilled;
|
[Export] private Texture2D Tilled;
|
||||||
[Export] private Texture2D Watered;
|
[Export] private Texture2D Watered;
|
||||||
[Export] public FieldState FieldState = FieldState.Tilled;
|
[Export] public FieldState FieldState = FieldState.Tilled;
|
||||||
|
[Export] private InteractionArea2D _growingCollider;
|
||||||
|
|
||||||
public Vector2 FieldPosition;
|
public Vector2 FieldPosition;
|
||||||
|
|
||||||
@@ -36,10 +38,12 @@ public partial class FieldBehaviour2D : Sprite2D
|
|||||||
case FieldState.Tilled:
|
case FieldState.Tilled:
|
||||||
FieldState = FieldState.Tilled;
|
FieldState = FieldState.Tilled;
|
||||||
Texture = Tilled;
|
Texture = Tilled;
|
||||||
|
_growingCollider.Visible = false;
|
||||||
break;
|
break;
|
||||||
case FieldState.Watered:
|
case FieldState.Watered:
|
||||||
FieldState = FieldState.Watered;
|
FieldState = FieldState.Watered;
|
||||||
Texture = Watered;
|
Texture = Watered;
|
||||||
|
_growingCollider.Visible = true;
|
||||||
break;
|
break;
|
||||||
case FieldState.Planted:
|
case FieldState.Planted:
|
||||||
FieldState = FieldState.Planted;
|
FieldState = FieldState.Planted;
|
||||||
|
|||||||
Reference in New Issue
Block a user