Made interaction area 2d work - and farming/growing work again.

remotes/checkIfPRContentChanged-1749880758504311652/farming_mechanic
kziolkowski 8 months ago
parent 366923699c
commit ff85b67087

@ -1,10 +0,0 @@
<component name="libraryTable">
<library name="GdSdk Master" type="GdScript">
<properties path="$USER_HOME$/.cache/JetBrains/Rider2025.1/projects/.idea.babushka.a4de4632/sdk/GdSdk Master" version="Master" date="2024-06-01T15:14:16.000+02:00" />
<CLASSES />
<JAVADOC />
<SOURCES>
<root url="file://$USER_HOME$/.cache/JetBrains/Rider2025.1/projects/.idea.babushka.a4de4632/sdk/GdSdk Master" />
</SOURCES>
</library>
</component>

@ -296,7 +296,7 @@
[ext_resource type="PackedScene" uid="uid://b1d2e7ely6hyw" path="res://prefabs/farm/base_field_2d.tscn" id="294_28qer"]
[sub_resource type="CircleShape2D" id="CircleShape2D_ssqtd"]
radius = 167.672
radius = 110.018
[sub_resource type="SpriteFrames" id="SpriteFrames_4yiyq"]
animations = [{
@ -1195,9 +1195,10 @@ animations = [{
"speed": 25.0
}]
[node name="Player2d" type="Node2D"]
[node name="Player2d" type="Node2D" node_paths=PackedStringArray("_farmingControls")]
y_sort_enabled = true
script = ExtResource("1_yl84k")
_farmingControls = NodePath("FarmingControls")
[node name="CharacterBody2D" type="CharacterBody2D" parent="." node_paths=PackedStringArray("_sprite")]
position = Vector2(0, 374)
@ -1208,7 +1209,7 @@ _sprite = NodePath("visuals/Animated Sprites")
[node name="CollisionShape2D" type="CollisionShape2D" parent="CharacterBody2D"]
z_index = 1
y_sort_enabled = true
position = Vector2(-24, -116)
position = Vector2(-24, -13)
shape = SubResource("CircleShape2D_ssqtd")
debug_color = Color(0.923708, 0.202722, 0.475262, 0.42)

@ -4,21 +4,27 @@
[ext_resource type="Script" uid="uid://bdffon388rkty" path="res://scripts/CSharp/Common/Farming/FieldBehaviour2D.cs" id="2_femni"]
[ext_resource type="Texture2D" uid="uid://c2pirgay3jfnn" path="res://art/farm/tilable grounds/böden/trockene farming erde.png" id="3_lsfck"]
[ext_resource type="Texture2D" uid="uid://ctvdxwgmfaj5c" path="res://art/farm/tilable grounds/böden/nasse farming erde.png" id="4_cus02"]
[ext_resource type="PackedScene" uid="uid://bjhj1wa5olwcu" path="res://prefabs/farm/base_plant.tscn" id="5_msuq8"]
[ext_resource type="PackedScene" uid="uid://c3hwbwo423nbm" path="res://prefabs/farm/base_plant_2d.tscn" id="5_femni"]
[node name="BaseField" type="Node2D"]
[node name="InteractionArea2" parent="." instance=ExtResource("1_femni")]
visible = false
z_index = 1
scale = Vector2(2.225, 2.225)
[node name="FieldBehaviour" type="Sprite2D" parent="."]
scale = Vector2(0.4, 1e-05)
texture = ExtResource("3_lsfck")
script = ExtResource("2_femni")
Tilled = ExtResource("3_lsfck")
Watered = ExtResource("4_cus02")
[node name="BasePlant" parent="FieldBehaviour" node_paths=PackedStringArray("_seeds", "_smallPlants", "_bigPlants", "_readyPlants") instance=ExtResource("5_msuq8")]
transform = Transform3D(0.5, 0, 0, 0, -2.18557e-08, 0.5, 0, -0.5, -2.18557e-08, 0, 0, 0)
_seeds = [null, null, null]
_smallPlants = [null, null, null, null]
_bigPlants = [null, null, null, null]
_readyPlants = [null, null, null, null]
[node name="BasePlant" parent="FieldBehaviour" instance=ExtResource("5_femni")]
[node name="BigPlant" parent="FieldBehaviour/BasePlant" index="2"]
position = Vector2(6, -161)
[node name="ReadyPlant" parent="FieldBehaviour/BasePlant" index="3"]
position = Vector2(0, -204)
[editable path="FieldBehaviour/BasePlant"]

@ -3,22 +3,24 @@
[ext_resource type="Script" uid="uid://ckp413wrub5fm" path="res://scripts/CSharp/Common/CharacterControls/InteractionArea2D.cs" id="1_6svbd"]
[sub_resource type="CircleShape2D" id="CircleShape2D_npluf"]
radius = 100.0
radius = 300.0
[node name="InteractionArea" type="Node2D" node_paths=PackedStringArray("_area", "_label")]
script = ExtResource("1_6svbd")
_area = NodePath("Area3D")
_area = NodePath("Area2D")
_label = NodePath("Label")
[node name="Area3D" type="Area2D" parent="."]
collision_mask = 16
[node name="Area2D" type="Area2D" parent="."]
[node name="CollisionShape3D" type="CollisionShape2D" parent="Area3D"]
[node name="CollisionShape3D" type="CollisionShape2D" parent="Area2D"]
shape = SubResource("CircleShape2D_npluf")
[node name="Label" type="Label" parent="."]
visible = false
offset_right = 50.0
offset_bottom = 30.0
scale = Vector2(2, 2)
text = "[E]"
[connection signal="body_entered" from="Area3D" to="." method="OnPlayerEntered"]
[connection signal="body_exited" from="Area3D" to="." method="OnPlayerExited"]
[connection signal="body_entered" from="Area2D" to="." method="OnPlayerEntered"]
[connection signal="body_exited" from="Area2D" to="." method="OnPlayerExited"]

@ -87,7 +87,8 @@ folder_colors={
"res://dialog/": "green",
"res://prefabs/": "teal",
"res://scenes/": "blue",
"res://scripts/": "purple"
"res://scripts/": "purple",
"res://shader/": "pink"
}
[input]

@ -1,4 +1,4 @@
[gd_scene load_steps=42 format=3 uid="uid://gigb28qk8t12"]
[gd_scene load_steps=44 format=3 uid="uid://gigb28qk8t12"]
[ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/Player2D.tscn" id="1_7wfwe"]
[ext_resource type="Texture2D" uid="uid://8sr11ex30n0m" path="res://art/mockups/Kenney_Backgrounds/Samples/uncolored_hills.png" id="2_7b2ri"]
@ -11,19 +11,21 @@
[ext_resource type="Texture2D" uid="uid://b6k4vrgj745k" path="res://art/mockups/Kenney_Backgrounds/PNG/Flat/tree03.png" id="9_ubx8m"]
[ext_resource type="Texture2D" uid="uid://dchn4jd4d7q3w" path="res://art/mockups/Kenney_Backgrounds/PNG/Flat/tree01.png" id="10_d53cn"]
[ext_resource type="Texture2D" uid="uid://8ai3me0j0wi" path="res://art/mockups/Kenney_Backgrounds/PNG/Flat/tree04.png" id="11_1uen0"]
[ext_resource type="Texture2D" uid="uid://dxrc50i65wuc4" path="res://art/mockups/Jelena 2d/jelena_mockup_bg01.png" id="11_vbdb2"]
[ext_resource type="Texture2D" uid="uid://g83vpep7rwwd" path="res://art/mockups/Kenney_Backgrounds/PNG/Flat/tree12.png" id="12_mrwmr"]
[ext_resource type="Texture2D" uid="uid://d0e8a7qsfkhy3" path="res://art/mockups/Jelena 2d/jelena_mockup_bg_02.png" id="13_0qu0h"]
[ext_resource type="Texture2D" uid="uid://bqoyk3fsrmu1x" path="res://art/nature/baum märz 2025/back back trees.png" id="13_1uen0"]
[ext_resource type="Shader" uid="uid://do5og8uubh2m5" path="res://scenes/HSV.gdshader" id="13_7p0hq"]
[ext_resource type="Shader" uid="uid://do5og8uubh2m5" path="res://shader/HSV.gdshader" id="13_7p0hq"]
[ext_resource type="Texture2D" uid="uid://dldk8n51ag8fh" path="res://art/nature/baum märz 2025/backtreebois team brandon.png" id="13_d53cn"]
[ext_resource type="Shader" uid="uid://xnky830dtfsn" path="res://scenes/repeat_texture.gdshader" id="13_kt1wx"]
[ext_resource type="Shader" uid="uid://xnky830dtfsn" path="res://shader/repeat_texture.gdshader" id="13_kt1wx"]
[ext_resource type="Texture2D" uid="uid://bmjjfd5ngptxe" path="res://art/nature/baum märz 2025/backtreebois team kennedy.png" id="14_1uen0"]
[ext_resource type="Texture2D" uid="uid://dv2jepy2el544" path="res://art/mockups/Kenney_Backgrounds/PNG/Flat/tree11.png" id="14_d53cn"]
[ext_resource type="Texture2D" uid="uid://451bkvxcxab7" path="res://art/nature/baum märz 2025/gräser und büsche.png" id="14_mrwmr"]
[ext_resource type="Texture2D" uid="uid://btea6eyucsyxj" path="res://art/farm/farming/farmobjekte/zaun/tilable fence middle part.png" id="20_if5vh"]
[ext_resource type="Texture2D" uid="uid://3ed3dgq3irn2" path="res://art/farm/farming/farmobjekte/zaun/tilable fence end part2.png" id="21_if5vh"]
[ext_resource type="Texture2D" uid="uid://dg7rlugnq0t45" path="res://art/farm/farming/farmobjekte/brünnen.png" id="21_ualyd"]
[ext_resource type="Texture2D" uid="uid://ctvdxwgmfaj5c" path="res://art/farm/tilable grounds/böden/nasse farming erde.png" id="23_0sfl7"]
[ext_resource type="Texture2D" uid="uid://c2pirgay3jfnn" path="res://art/farm/tilable grounds/böden/trockene farming erde.png" id="24_2vojv"]
[ext_resource type="Script" uid="uid://dhxtdhfqx3bte" path="res://scripts/CSharp/Common/Farming/FieldService2D.cs" id="25_0qu0h"]
[ext_resource type="PackedScene" uid="uid://b1d2e7ely6hyw" path="res://prefabs/farm/base_field_2d.tscn" id="26_vbdb2"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_xy0kg"]
shader = ExtResource("13_7p0hq")
@ -103,42 +105,46 @@ size = Vector2(728, 368)
[node name="ParallaxBackground" type="ParallaxBackground" parent="."]
[node name="background layer 0" type="ParallaxLayer" parent="ParallaxBackground"]
[node name="background color layer" type="ParallaxLayer" parent="ParallaxBackground"]
position = Vector2(0, -296)
motion_scale = Vector2(0.1, 0.1)
motion_mirroring = Vector2(2048, 0)
[node name="Sprite2D" type="Sprite2D" parent="ParallaxBackground/background layer 0"]
[node name="Sprite2D" type="Sprite2D" parent="ParallaxBackground/background color layer"]
modulate = Color(0.607706, 0.894469, 0.564721, 1)
scale = Vector2(2, 2)
texture = ExtResource("2_7b2ri")
centered = false
offset = Vector2(0, -100)
[node name="Sprite2D2" type="Sprite2D" parent="ParallaxBackground/background layer 0"]
[node name="Sprite2D2" type="Sprite2D" parent="ParallaxBackground/background color layer"]
modulate = Color(0.607706, 0.894469, 0.564721, 1)
position = Vector2(4096, 0)
scale = Vector2(2, 2)
texture = ExtResource("2_7b2ri")
centered = false
offset = Vector2(0, -100)
[node name="background layer 1" type="ParallaxLayer" parent="ParallaxBackground"]
[node name="clouds layer" type="ParallaxLayer" parent="ParallaxBackground"]
position = Vector2(0, -296)
motion_scale = Vector2(0.2, 0.2)
motion_mirroring = Vector2(4096, 0)
[node name="Sprite2D" type="Sprite2D" parent="ParallaxBackground/background layer 1"]
[node name="Sprite2D" type="Sprite2D" parent="ParallaxBackground/clouds layer"]
position = Vector2(792, 400)
scale = Vector2(2, 2)
texture = ExtResource("3_r34wi")
centered = false
offset = Vector2(0, -100)
[node name="Sprite2D2" type="Sprite2D" parent="ParallaxBackground/background layer 1"]
[node name="Sprite2D2" type="Sprite2D" parent="ParallaxBackground/clouds layer"]
position = Vector2(2656, 272)
scale = Vector2(2, 2)
texture = ExtResource("4_xh22q")
centered = false
offset = Vector2(0, -100)
[node name="Sprite2D3" type="Sprite2D" parent="ParallaxBackground/background layer 1"]
[node name="Sprite2D3" type="Sprite2D" parent="ParallaxBackground/clouds layer"]
position = Vector2(3240, 488)
scale = Vector2(2, 2)
texture = ExtResource("5_k3wpj")
@ -146,10 +152,13 @@ centered = false
offset = Vector2(0, -100)
[node name="background layer 3" type="ParallaxLayer" parent="ParallaxBackground"]
position = Vector2(0, -296)
motion_scale = Vector2(0.3, 0.3)
motion_mirroring = Vector2(5998, 0)
motion_mirroring = Vector2(7274, 0)
[node name="hills" type="Sprite2D" parent="ParallaxBackground/background layer 3"]
[node name="Kenney assets" type="Node2D" parent="ParallaxBackground/background layer 3"]
[node name="hills" type="Sprite2D" parent="ParallaxBackground/background layer 3/Kenney assets"]
modulate = Color(0.709819, 0.713726, 0.717632, 1)
position = Vector2(0, 1420)
scale = Vector2(3, 3)
@ -157,7 +166,7 @@ texture = ExtResource("7_sbyqw")
centered = false
offset = Vector2(0, -100)
[node name="hills 1" type="Sprite2D" parent="ParallaxBackground/background layer 3"]
[node name="hills 1" type="Sprite2D" parent="ParallaxBackground/background layer 3/Kenney assets"]
modulate = Color(0.709819, 0.713726, 0.717632, 1)
position = Vector2(2999, 1420)
scale = Vector2(3, 3)
@ -165,77 +174,85 @@ texture = ExtResource("8_kt1wx")
centered = false
offset = Vector2(0, -100)
[node name="tree" type="Sprite2D" parent="ParallaxBackground/background layer 3"]
[node name="tree" type="Sprite2D" parent="ParallaxBackground/background layer 3/Kenney assets"]
modulate = Color(0.651194, 0.592081, 0.635554, 1)
position = Vector2(376, 1136)
scale = Vector2(2.33333, 1.64286)
texture = ExtResource("9_ubx8m")
[node name="tree2" type="Sprite2D" parent="ParallaxBackground/background layer 3"]
[node name="tree2" type="Sprite2D" parent="ParallaxBackground/background layer 3/Kenney assets"]
modulate = Color(0.651194, 0.592081, 0.635554, 1)
position = Vector2(312, 1160)
scale = Vector2(2.33333, 1.64286)
texture = ExtResource("9_ubx8m")
[node name="tree3" type="Sprite2D" parent="ParallaxBackground/background layer 3"]
[node name="tree3" type="Sprite2D" parent="ParallaxBackground/background layer 3/Kenney assets"]
modulate = Color(0.651194, 0.592081, 0.635554, 1)
position = Vector2(216, 1072)
scale = Vector2(1.46078, 0.957947)
texture = ExtResource("10_d53cn")
[node name="tree4" type="Sprite2D" parent="ParallaxBackground/background layer 3"]
[node name="tree4" type="Sprite2D" parent="ParallaxBackground/background layer 3/Kenney assets"]
modulate = Color(0.651194, 0.592081, 0.635554, 1)
position = Vector2(104, 1128)
scale = Vector2(2.33333, 1.64286)
texture = ExtResource("9_ubx8m")
[node name="tree5" type="Sprite2D" parent="ParallaxBackground/background layer 3"]
[node name="tree5" type="Sprite2D" parent="ParallaxBackground/background layer 3/Kenney assets"]
modulate = Color(0.651194, 0.592081, 0.635554, 1)
position = Vector2(1640, 1088)
scale = Vector2(2.33333, 1.64286)
texture = ExtResource("9_ubx8m")
[node name="tree6" type="Sprite2D" parent="ParallaxBackground/background layer 3"]
[node name="tree6" type="Sprite2D" parent="ParallaxBackground/background layer 3/Kenney assets"]
modulate = Color(0.651194, 0.592081, 0.635554, 1)
position = Vector2(2456, 1256)
scale = Vector2(2.33333, 1.64286)
texture = ExtResource("9_ubx8m")
[node name="tree7" type="Sprite2D" parent="ParallaxBackground/background layer 3"]
[node name="tree7" type="Sprite2D" parent="ParallaxBackground/background layer 3/Kenney assets"]
modulate = Color(0.651194, 0.592081, 0.635554, 1)
position = Vector2(2392, 1288)
scale = Vector2(2.33333, 1.64286)
texture = ExtResource("9_ubx8m")
[node name="tree8" type="Sprite2D" parent="ParallaxBackground/background layer 3"]
[node name="tree8" type="Sprite2D" parent="ParallaxBackground/background layer 3/Kenney assets"]
modulate = Color(0.651194, 0.592081, 0.635554, 1)
position = Vector2(2568, 1200)
scale = Vector2(1.33805, 0.991627)
texture = ExtResource("11_1uen0")
[node name="tree9" type="Sprite2D" parent="ParallaxBackground/background layer 3"]
[node name="tree9" type="Sprite2D" parent="ParallaxBackground/background layer 3/Kenney assets"]
modulate = Color(0.651194, 0.592081, 0.635554, 1)
position = Vector2(3376, 1224)
scale = Vector2(2.33333, 1.64286)
texture = ExtResource("9_ubx8m")
[node name="tree10" type="Sprite2D" parent="ParallaxBackground/background layer 3"]
[node name="tree10" type="Sprite2D" parent="ParallaxBackground/background layer 3/Kenney assets"]
modulate = Color(0.651194, 0.592081, 0.635554, 1)
position = Vector2(3488, 1248)
scale = Vector2(0.939717, 0.72619)
texture = ExtResource("12_mrwmr")
[node name="tree11" type="Sprite2D" parent="ParallaxBackground/background layer 3"]
[node name="tree11" type="Sprite2D" parent="ParallaxBackground/background layer 3/Kenney assets"]
modulate = Color(0.651194, 0.592081, 0.635554, 1)
position = Vector2(4912, 1078.25)
scale = Vector2(2.33333, 1.64286)
texture = ExtResource("9_ubx8m")
[node name="JelenaMockupBg01" type="Sprite2D" parent="ParallaxBackground/background layer 3"]
visible = false
position = Vector2(3552, 1296)
scale = Vector2(1.7404, 1.77563)
texture = ExtResource("11_vbdb2")
[node name="background layer 4" type="ParallaxLayer" parent="ParallaxBackground"]
motion_scale = Vector2(0.5, 0.5)
motion_mirroring = Vector2(7998, 0)
[node name="hills" type="Sprite2D" parent="ParallaxBackground/background layer 4"]
[node name="Kenney Assets" type="Node2D" parent="ParallaxBackground/background layer 4"]
[node name="hills" type="Sprite2D" parent="ParallaxBackground/background layer 4/Kenney Assets"]
modulate = Color(0.525643, 0.556909, 0.560815, 1)
position = Vector2(0, 1420)
scale = Vector2(4, 4)
@ -243,7 +260,7 @@ texture = ExtResource("7_sbyqw")
centered = false
offset = Vector2(-200, -80)
[node name="hills 1" type="Sprite2D" parent="ParallaxBackground/background layer 4"]
[node name="hills 1" type="Sprite2D" parent="ParallaxBackground/background layer 4/Kenney Assets"]
modulate = Color(0.525643, 0.556909, 0.560815, 1)
position = Vector2(3999, 1420)
scale = Vector2(4, 4)
@ -251,100 +268,106 @@ texture = ExtResource("8_kt1wx")
centered = false
offset = Vector2(-200, -80)
[node name="tree" type="Sprite2D" parent="ParallaxBackground/background layer 4"]
[node name="tree" type="Sprite2D" parent="ParallaxBackground/background layer 4/Kenney Assets"]
modulate = Color(0.431357, 0.282353, 0.415717, 1)
position = Vector2(128, 784)
scale = Vector2(5.11066, 3.99823)
texture = ExtResource("14_d53cn")
[node name="tree2" type="Sprite2D" parent="ParallaxBackground/background layer 4"]
[node name="tree2" type="Sprite2D" parent="ParallaxBackground/background layer 4/Kenney Assets"]
modulate = Color(0.431357, 0.282353, 0.415717, 1)
position = Vector2(976, 952)
scale = Vector2(3.7465, 2.76803)
texture = ExtResource("14_d53cn")
[node name="tree9" type="Sprite2D" parent="ParallaxBackground/background layer 4"]
[node name="tree9" type="Sprite2D" parent="ParallaxBackground/background layer 4/Kenney Assets"]
modulate = Color(0.431357, 0.282353, 0.415717, 1)
position = Vector2(1160, 976)
scale = Vector2(3.7465, 2.76803)
texture = ExtResource("14_d53cn")
flip_h = true
[node name="tree3" type="Sprite2D" parent="ParallaxBackground/background layer 4"]
[node name="tree3" type="Sprite2D" parent="ParallaxBackground/background layer 4/Kenney Assets"]
modulate = Color(0.431357, 0.282353, 0.415717, 1)
position = Vector2(1368, 800)
scale = Vector2(3.7465, 2.76803)
texture = ExtResource("14_d53cn")
[node name="tree4" type="Sprite2D" parent="ParallaxBackground/background layer 4"]
[node name="tree4" type="Sprite2D" parent="ParallaxBackground/background layer 4/Kenney Assets"]
modulate = Color(0.431357, 0.282353, 0.415717, 1)
position = Vector2(2328, 880)
scale = Vector2(3.7465, 2.76803)
texture = ExtResource("14_d53cn")
[node name="tree5" type="Sprite2D" parent="ParallaxBackground/background layer 4"]
[node name="tree5" type="Sprite2D" parent="ParallaxBackground/background layer 4/Kenney Assets"]
modulate = Color(0.431357, 0.282353, 0.415717, 1)
position = Vector2(3112, 944)
scale = Vector2(3.7465, 2.76803)
texture = ExtResource("14_d53cn")
[node name="tree6" type="Sprite2D" parent="ParallaxBackground/background layer 4"]
[node name="tree6" type="Sprite2D" parent="ParallaxBackground/background layer 4/Kenney Assets"]
modulate = Color(0.431357, 0.282353, 0.415717, 1)
position = Vector2(4248, 960)
scale = Vector2(3.7465, 2.76803)
texture = ExtResource("14_d53cn")
[node name="tree10" type="Sprite2D" parent="ParallaxBackground/background layer 4"]
[node name="tree10" type="Sprite2D" parent="ParallaxBackground/background layer 4/Kenney Assets"]
modulate = Color(0.431357, 0.282353, 0.415717, 1)
position = Vector2(5376, 848)
scale = Vector2(3.7465, 2.76803)
texture = ExtResource("14_d53cn")
flip_h = true
[node name="tree11" type="Sprite2D" parent="ParallaxBackground/background layer 4"]
[node name="tree11" type="Sprite2D" parent="ParallaxBackground/background layer 4/Kenney Assets"]
modulate = Color(0.431357, 0.282353, 0.415717, 1)
position = Vector2(5624, 976)
scale = Vector2(2.93619, 1.96107)
texture = ExtResource("14_d53cn")
[node name="tree12" type="Sprite2D" parent="ParallaxBackground/background layer 4"]
[node name="tree12" type="Sprite2D" parent="ParallaxBackground/background layer 4/Kenney Assets"]
modulate = Color(0.431357, 0.282353, 0.415717, 1)
position = Vector2(5856.97, 753.531)
scale = Vector2(3.3702, 3.05266)
texture = ExtResource("14_d53cn")
[node name="tree13" type="Sprite2D" parent="ParallaxBackground/background layer 4"]
[node name="tree13" type="Sprite2D" parent="ParallaxBackground/background layer 4/Kenney Assets"]
modulate = Color(0.431357, 0.282353, 0.415717, 1)
position = Vector2(6888, 912)
scale = Vector2(3.3702, 3.05266)
texture = ExtResource("14_d53cn")
flip_h = true
[node name="tree14" type="Sprite2D" parent="ParallaxBackground/background layer 4"]
[node name="tree14" type="Sprite2D" parent="ParallaxBackground/background layer 4/Kenney Assets"]
modulate = Color(0.431357, 0.282353, 0.415717, 1)
position = Vector2(7088.48, 752.766)
scale = Vector2(3.69909, 3.46732)
texture = ExtResource("14_d53cn")
[node name="tree15" type="Sprite2D" parent="ParallaxBackground/background layer 4"]
[node name="tree15" type="Sprite2D" parent="ParallaxBackground/background layer 4/Kenney Assets"]
modulate = Color(0.431357, 0.282353, 0.415717, 1)
position = Vector2(7224, 888)
scale = Vector2(3.1922, 3.25497)
texture = ExtResource("14_d53cn")
[node name="tree7" type="Sprite2D" parent="ParallaxBackground/background layer 4"]
[node name="tree7" type="Sprite2D" parent="ParallaxBackground/background layer 4/Kenney Assets"]
modulate = Color(0.431357, 0.282353, 0.415717, 1)
position = Vector2(4392, 1152)
scale = Vector2(2.55123, 1.88928)
texture = ExtResource("14_d53cn")
flip_h = true
[node name="tree8" type="Sprite2D" parent="ParallaxBackground/background layer 4"]
[node name="tree8" type="Sprite2D" parent="ParallaxBackground/background layer 4/Kenney Assets"]
modulate = Color(0.431357, 0.282353, 0.415717, 1)
position = Vector2(2944, 992)
scale = Vector2(3.008, 2.76803)
texture = ExtResource("14_d53cn")
[node name="JelenaMockupBg02" type="Sprite2D" parent="ParallaxBackground/background layer 4"]
visible = false
position = Vector2(3472, 1088)
scale = Vector2(1.7, 1.7)
texture = ExtResource("13_0qu0h")
[node name="back back trees layer" type="ParallaxLayer" parent="ParallaxBackground"]
motion_scale = Vector2(0.7, 0.7)
motion_mirroring = Vector2(4968, 0)
@ -530,6 +553,7 @@ region_enabled = true
region_rect = Rect2(1834, -5, 733, 1360)
[node name="ground layer" type="ParallaxLayer" parent="ParallaxBackground"]
position = Vector2(72, 208)
motion_mirroring = Vector2(7998, 0)
[node name="floortile00" type="Sprite2D" parent="ParallaxBackground/ground layer"]
@ -607,57 +631,32 @@ shape = SubResource("RectangleShape2D_klb81")
[node name="Farm visuals" type="Node2D" parent="."]
[node name="feld" type="Sprite2D" parent="Farm visuals"]
position = Vector2(11136, 2592)
texture = ExtResource("23_0sfl7")
[node name="feld2" type="Sprite2D" parent="Farm visuals"]
position = Vector2(11136, 3240)
texture = ExtResource("23_0sfl7")
[node name="feld3" type="Sprite2D" parent="Farm visuals"]
position = Vector2(11872, 2592)
texture = ExtResource("23_0sfl7")
[node name="feld4" type="Sprite2D" parent="Farm visuals"]
position = Vector2(11872, 3240)
texture = ExtResource("23_0sfl7")
[node name="TrockeneFarmingErde" type="Sprite2D" parent="Farm visuals"]
position = Vector2(13568, 2576)
texture = ExtResource("24_2vojv")
[node name="Static" type="Node2D" parent="Farm visuals"]
[node name="TrockeneFarmingErde2" type="Sprite2D" parent="Farm visuals"]
position = Vector2(13568, 3312)
texture = ExtResource("24_2vojv")
[node name="TrockeneFarmingErde3" type="Sprite2D" parent="Farm visuals"]
position = Vector2(14392, 3304)
texture = ExtResource("24_2vojv")
[node name="TrockeneFarmingErde4" type="Sprite2D" parent="Farm visuals"]
position = Vector2(14384, 2568)
texture = ExtResource("24_2vojv")
[node name="House Mockup" type="Sprite2D" parent="Farm visuals"]
[node name="House Mockup" type="Sprite2D" parent="Farm visuals/Static"]
material = SubResource("ShaderMaterial_lhtpe")
position = Vector2(5280, 1600)
scale = Vector2(5, 5)
texture = ExtResource("2_lhtpe")
[node name="StaticBody2D" type="StaticBody2D" parent="Farm visuals/House Mockup"]
[node name="StaticBody2D" type="StaticBody2D" parent="Farm visuals/Static/House Mockup"]
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Farm visuals/House Mockup/StaticBody2D"]
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Farm visuals/Static/House Mockup/StaticBody2D"]
position = Vector2(-257.6, 236.8)
polygon = PackedVector2Array(232, -4.80005, 0, 0, 0, -96, -262.4, -97.6, -265.6, -260.8, -310.4, -260.8, -235.2, -321.6, -124.8, -323.2, -57.6, -424, 84.8, -436.8, 118.4, -452.8, 136, -436.8, 726.4, -452.8, 817.6, -299.2, 785.6, -291.2, 785.6, -108.8, 241.6, -94.4)
[node name="FieldService2D" type="Node2D" parent="Farm visuals"]
script = ExtResource("25_0qu0h")
metadata/_custom_type_script = "uid://dhxtdhfqx3bte"
[node name="YSorted" type="Node2D" parent="."]
z_index = 1
y_sort_enabled = true
[node name="Player2d" parent="YSorted" instance=ExtResource("1_7wfwe")]
[node name="Player2d" parent="YSorted" node_paths=PackedStringArray("_fieldParent") instance=ExtResource("1_7wfwe")]
z_index = 1
position = Vector2(1064, 2128)
_fieldParent = NodePath("../../Farm visuals/FieldService2D")
[node name="Brünnen" type="Sprite2D" parent="YSorted"]
z_index = 1
@ -672,3 +671,15 @@ offset = Vector2(0, -800)
[node name="CollisionShape2D" type="CollisionShape2D" parent="YSorted/Brünnen/StaticBody2D"]
position = Vector2(116, -224)
shape = SubResource("RectangleShape2D_0sfl7")
[node name="BaseField" parent="." instance=ExtResource("26_vbdb2")]
position = Vector2(11280, 2560)
[node name="BaseField2" parent="." instance=ExtResource("26_vbdb2")]
position = Vector2(11280, 3304)
[node name="BaseField3" parent="." instance=ExtResource("26_vbdb2")]
position = Vector2(12080, 3296)
[node name="BaseField4" parent="." instance=ExtResource("26_vbdb2")]
position = Vector2(12080, 2544)

@ -1,92 +0,0 @@
shader_type canvas_item;
// Hue is in normalized value [0.0, 1.0] where 0.0 means no change.
// For example, 0.1 shifts hue by 36° (0.1 * 360°).
uniform float hue_shift : hint_range(-1.0, 1.0) = 0.0;
// Saturation multiplier. 1.0 means no change.
uniform float saturation_mult : hint_range(0.0, 2.0) = 1.0;
// Value (brightness in HSV) multiplier. 1.0 means no change.
uniform float value_mult : hint_range(0.0, 2.0) = 1.0;
// Brightness addition in RGB space. 0.0 means no change.
uniform float brightness_add : hint_range(-1.0, 1.0) = 0.0;
// Contrast multiplier in RGB space. 1.0 means no change.
uniform float contrast_mult : hint_range(0.0, 2.0) = 1.0;
// Converts an RGB color to HSV.
vec3 rgb2hsv(vec3 c) {
float cMax = max(max(c.r, c.g), c.b);
float cMin = min(min(c.r, c.g), c.b);
float delta = cMax - cMin;
float h = 0.0;
if(delta < 0.00001) {
h = 0.0;
} else if(cMax == c.r) {
h = mod(((c.g - c.b) / delta), 6.0);
} else if(cMax == c.g) {
h = ((c.b - c.r) / delta) + 2.0;
} else {
h = ((c.r - c.g) / delta) + 4.0;
}
h /= 6.0;
if(h < 0.0) h += 1.0;
float s = (cMax <= 0.0) ? 0.0 : (delta / cMax);
float v = cMax;
return vec3(h, s, v);
}
// Converts an HSV color back to RGB.
vec3 hsv2rgb(vec3 c) {
float h = c.x * 6.0;
float s = c.y;
float v = c.z;
float c_val = v * s;
float x = c_val * (1.0 - abs(mod(h, 2.0) - 1.0));
vec3 rgb;
if (0.0 <= h && h < 1.0) {
rgb = vec3(c_val, x, 0.0);
} else if (1.0 <= h && h < 2.0) {
rgb = vec3(x, c_val, 0.0);
} else if (2.0 <= h && h < 3.0) {
rgb = vec3(0.0, c_val, x);
} else if (3.0 <= h && h < 4.0) {
rgb = vec3(0.0, x, c_val);
} else if (4.0 <= h && h < 5.0) {
rgb = vec3(x, 0.0, c_val);
} else if (5.0 <= h && h < 6.0) {
rgb = vec3(c_val, 0.0, x);
} else {
rgb = vec3(0.0, 0.0, 0.0);
}
float m = v - c_val;
return rgb + vec3(m);
}
void fragment() {
// Get the original texture color.
vec4 tex_color = texture(TEXTURE, UV);
vec3 col = tex_color.rgb;
// Adjust brightness and contrast in RGB space.
// The contrast formula shifts the color around mid-gray (0.5).
col = (col - 0.5) * contrast_mult + 0.5 + brightness_add;
// Convert to HSV to adjust hue, saturation, and value.
vec3 hsv = rgb2hsv(col);
// Apply hue shift and wrap the value [0,1].
hsv.x = mod(hsv.x + hue_shift, 1.0);
// Adjust saturation and value multipliers.
hsv.y *= saturation_mult;
hsv.z *= value_mult;
// Convert back to RGB.
col = hsv2rgb(hsv);
// Output the final color while preserving the original alpha.
COLOR = vec4(col, tex_color.a);
}

@ -1 +0,0 @@
uid://do5og8uubh2m5

@ -14,7 +14,7 @@ region_rect = Rect2(111, 292, 3323, 2160)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="background/StaticBody2D"]
position = Vector2(-1195, 1075)
polygon = PackedVector2Array(-467, -7, -472, -1988, 1922, -1684, 2851, -1753, 2860, -260, 1679, -421, -26, -12, -430, -7)
polygon = PackedVector2Array(-467, -7, -472, -1988, 1922, -1684, 2851, -1753, 2851, -515, 1699, -579, -205, -155, -430, -7)
[node name="middleground" type="Sprite2D" parent="."]
position = Vector2(-234, 864)

@ -1,10 +0,0 @@
shader_type canvas_item;
uniform vec2 tiling_scale = vec2(5.0, 5.0);
uniform sampler2D noise : repeat_enable;
void fragment() {
vec2 uv = vec2(UV.x * tiling_scale.x, UV.y * tiling_scale.y); // Change 10.0 to control tiling scale
COLOR = texture(TEXTURE, fract(uv));
}

@ -1262,7 +1262,6 @@ texture = ExtResource("13_gcssn")
[node name="semi_cat" type="Sprite3D" parent="."]
transform = Transform3D(0.04, 0, 0, 0, 0.04, 0, 0, 0, 0.04, -0.568754, 0.116035, -0.275782)
visible = false
billboard = 1
shaded = true
texture = ExtResource("14_qxv15")

@ -3,6 +3,7 @@ using Godot.Collections;
namespace Babushka.scripts.CSharp.Common.Farming;
[GlobalClass]
public partial class FieldService2D : Node2D
{
[Export] private Dictionary<Vector2I, FieldBehaviour2D> fields = new Dictionary<Vector2I, FieldBehaviour2D>();

@ -0,0 +1,64 @@
using System;
using Godot;
namespace Babushka.scripts.CSharp.Common.Farming;
/// <summary>
/// Determines the behaviour of a plant in Babushka.
/// </summary>
public partial class PlantBehaviour2D : Node2D
{
[Export] private Sprite2D[] _seeds;
[Export] private Sprite2D[] _smallPlants;
[Export] private Sprite2D[] _bigPlants;
[Export] private Sprite2D[] _readyPlants;
[Export] private PlantState _state = PlantState.None;
private Sprite2D _currentPlantSprite = null;
/// <summary>
/// Transitions the plant to its next groth stage.
/// </summary>
public void Grow()
{
switch (_state)
{
case PlantState.None:
_state = PlantState.Planted;
_currentPlantSprite = GetRandomSprite(_seeds);
_currentPlantSprite.Visible = true;
break;
case PlantState.Planted:
_state = PlantState.SmallPlant;
_currentPlantSprite.Visible = false;
_currentPlantSprite = GetRandomSprite(_smallPlants);
_currentPlantSprite.Visible = true;
break;
case PlantState.SmallPlant:
_state = PlantState.BigPlant;
_currentPlantSprite.Visible = false;
_currentPlantSprite = GetRandomSprite(_bigPlants);
_currentPlantSprite.Visible = true;
break;
case PlantState.BigPlant:
_state = PlantState.Ready;
_currentPlantSprite.Visible = false;
_currentPlantSprite = GetRandomSprite(_readyPlants);
_currentPlantSprite.Visible = true;
break;
case PlantState.Ready:
_state = PlantState.None;
_currentPlantSprite.Visible = false;
_currentPlantSprite = null;
break;
default:
break;
}
}
private Sprite2D GetRandomSprite(Sprite2D[] sprites)
{
Random rand = new Random();
return sprites[rand.Next(sprites.Length)];
}
}

@ -5,8 +5,8 @@ namespace Babushka.scripts.CSharp.Common.Farming;
public partial class VesnaBehaviour2D : Node
{
[ExportGroup("Farming")]
[Export] private FieldService _fieldParent;
[Export] private FarmingControls _farmingControls;
[Export] private FieldService2D _fieldParent;
[Export] private FarmingControls2D _farmingControls;
[Signal] public delegate void ToolPickupEventHandler(bool success);

Loading…
Cancel
Save