Project cleanup: Removed 3D scripts and scenes from project. Also renamed and moved some minor stuff.

pull/9/head
kziolkowski 8 months ago committed by cblech
parent 1f17cca62d
commit c6ec99e87a

2
.gitignore vendored

@ -2,6 +2,8 @@
.godot/ .godot/
/android/ /android/
/builds/ /builds/
/_builds/
/_clips/
# temporary files # temporary files
**/*.tmp **/*.tmp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

@ -1,35 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b3uty8l1jdrjk"
path.s3tc="res://.godot/imported/sky_24_2k.png-6eebd1ef02e0e52a98645f3d1879ab9e.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://art/skyboxes/sky_24_2k.png"
dest_files=["res://.godot/imported/sky_24_2k.png-6eebd1ef02e0e52a98645f3d1879ab9e.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 627 KiB

@ -1,35 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d1gij124516fl"
path.s3tc="res://.godot/imported/sky_29_2k.png-a941c0e080f4b37a36968dc654dd2c14.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://art/skyboxes/sky_29_2k.png"
dest_files=["res://.godot/imported/sky_29_2k.png-a941c0e080f4b37a36968dc654dd2c14.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 993 KiB

@ -1,35 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d2osodaofb2ya"
path.s3tc="res://.godot/imported/sky_34_2k.png-9f6287d0381f17cc068eeb4166c83bd3.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://art/skyboxes/sky_34_2k.png"
dest_files=["res://.godot/imported/sky_34_2k.png-9f6287d0381f17cc068eeb4166c83bd3.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 571 KiB

@ -1,35 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://df87h8he6c12t"
path.s3tc="res://.godot/imported/sky_37_2k.png-8ba5cf7cc018e8a0a90a73aefe633c16.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://art/skyboxes/sky_37_2k.png"
dest_files=["res://.godot/imported/sky_37_2k.png-8ba5cf7cc018e8a0a90a73aefe633c16.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 728 KiB

@ -1,35 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d11xu6vq7jwdq"
path.s3tc="res://.godot/imported/sky_41_2k.png-ed5d885654e2b3558ec6ad4d08125f90.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://art/skyboxes/sky_41_2k.png"
dest_files=["res://.godot/imported/sky_41_2k.png-ed5d885654e2b3558ec6ad4d08125f90.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

File diff suppressed because it is too large Load Diff

@ -1,38 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://biwd3jj65qrlh"]
[ext_resource type="Texture2D" uid="uid://c2pirgay3jfnn" path="res://art/farm/tilable grounds/böden/trockene farming erde.png" id="1_2cisk"]
[ext_resource type="Script" uid="uid://histmmyi1wr" path="res://scripts/CSharp/Common/Farming/FieldBehaviour.cs" id="2_u7egi"]
[ext_resource type="Texture2D" uid="uid://ctvdxwgmfaj5c" path="res://art/farm/tilable grounds/böden/nasse farming erde.png" id="4_lsseu"]
[ext_resource type="PackedScene" uid="uid://bjhj1wa5olwcu" path="res://prefabs/farm/base_plant.tscn" id="4_u7egi"]
[ext_resource type="PackedScene" uid="uid://ob04y3syvo0e" path="res://prefabs/interaction_area.tscn" id="4_xc4m0"]
[sub_resource type="SphereShape3D" id="SphereShape3D_u7egi"]
resource_local_to_scene = true
radius = 2.0
[node name="BaseField" type="Node3D"]
[node name="InteractionArea" parent="." instance=ExtResource("4_xc4m0")]
transform = Transform3D(0.939693, -0.34202, 0, 0.34202, 0.939693, 0, 0, 0, 1, 0.00334358, -0.3811, -0.120426)
_showLabel = false
[node name="CollisionShape3D" parent="InteractionArea/Area3D" index="0"]
shape = SubResource("SphereShape3D_u7egi")
[node name="FieldBehaviour" type="Sprite3D" parent="."]
transform = Transform3D(0.4, 0, 0, 0, -1.74846e-08, -0.4, 0, 0.4, -1.74846e-08, 0, 0, 0)
pixel_size = 0.004
script = ExtResource("2_u7egi")
Tilled = ExtResource("1_2cisk")
Watered = ExtResource("4_lsseu")
FieldState = 1
metadata/_custom_type_script = "uid://histmmyi1wr"
[node name="BasePlant" parent="FieldBehaviour" node_paths=PackedStringArray("_seeds", "_smallPlants", "_bigPlants", "_readyPlants") instance=ExtResource("4_u7egi")]
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]
[editable path="InteractionArea"]

@ -1,6 +1,6 @@
[gd_scene load_steps=7 format=3 uid="uid://b1d2e7ely6hyw"] [gd_scene load_steps=7 format=3 uid="uid://b1d2e7ely6hyw"]
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/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"]
[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://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="Texture2D" uid="uid://ctvdxwgmfaj5c" path="res://art/farm/tilable grounds/böden/nasse farming erde.png" id="4_cus02"]

@ -1,170 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://bjhj1wa5olwcu"]
[ext_resource type="Script" uid="uid://yfnjmuuxs3oq" path="res://scripts/CSharp/Common/Farming/PlantBehaviour.cs" id="1_0sfu3"]
[ext_resource type="Texture2D" uid="uid://dtr4uga5uspg" path="res://art/farm/farming/farmobjekte/tomaten/tomaten baby.png" id="2_l7215"]
[ext_resource type="Texture2D" uid="uid://b2gu6ur2xc7s4" path="res://art/farm/farming/farmobjekte/tomaten/tomaten blume.png" id="3_g3ydi"]
[ext_resource type="Texture2D" uid="uid://cnwd3mb3jnuxm" path="res://art/farm/farming/farmobjekte/tomaten/teen adulte tomaten.png" id="4_7hsvc"]
[ext_resource type="PackedScene" uid="uid://ob04y3syvo0e" path="res://prefabs/interaction_area.tscn" id="5_n6ufi"]
[sub_resource type="SphereShape3D" id="SphereShape3D_l3nrf"]
resource_local_to_scene = true
radius = 2.0
[node name="BasePlant" type="Node3D" node_paths=PackedStringArray("_seeds", "_smallPlants", "_bigPlants", "_readyPlants")]
script = ExtResource("1_0sfu3")
_seeds = [NodePath("Seeds/TomatoSeed"), NodePath("Seeds/TomatoSeed2"), NodePath("Seeds/TomatoSeed3")]
_smallPlants = [NodePath("SmallPlant/01"), NodePath("SmallPlant/02"), NodePath("SmallPlant/03"), NodePath("SmallPlant/04")]
_bigPlants = [NodePath("BigPlant/01"), NodePath("BigPlant/02"), NodePath("BigPlant/03"), NodePath("BigPlant/04")]
_readyPlants = [NodePath("ReadyPlant/01"), NodePath("ReadyPlant/02"), NodePath("ReadyPlant/03"), NodePath("ReadyPlant/04")]
[node name="Seeds" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
[node name="TomatoSeed" type="Sprite3D" parent="Seeds"]
visible = false
flip_v = true
billboard = 1
render_priority = 2
texture = ExtResource("2_l7215")
region_enabled = true
region_rect = Rect2(-2, 15, 85, 81)
[node name="TomatoSeed2" type="Sprite3D" parent="Seeds"]
visible = false
flip_v = true
billboard = 1
render_priority = 2
texture = ExtResource("2_l7215")
region_enabled = true
region_rect = Rect2(15, 177, 84, 108)
[node name="TomatoSeed3" type="Sprite3D" parent="Seeds"]
visible = false
flip_v = true
billboard = 1
render_priority = 2
texture = ExtResource("2_l7215")
region_enabled = true
region_rect = Rect2(3, 337, 85, 82)
[node name="SmallPlant" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
[node name="01" type="Sprite3D" parent="SmallPlant"]
visible = false
billboard = 1
render_priority = 3
texture = ExtResource("2_l7215")
region_enabled = true
region_rect = Rect2(203, 1, 128, 164)
[node name="02" type="Sprite3D" parent="SmallPlant"]
visible = false
billboard = 1
render_priority = 3
texture = ExtResource("2_l7215")
region_enabled = true
region_rect = Rect2(218, 204, 112, 130)
[node name="03" type="Sprite3D" parent="SmallPlant"]
visible = false
billboard = 1
render_priority = 3
texture = ExtResource("2_l7215")
region_enabled = true
region_rect = Rect2(224, 399, 105, 105)
[node name="04" type="Sprite3D" parent="SmallPlant"]
visible = false
billboard = 1
render_priority = 3
texture = ExtResource("2_l7215")
region_enabled = true
region_rect = Rect2(228, 600, 85, 92)
[node name="BigPlant" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
[node name="01" type="Sprite3D" parent="BigPlant"]
visible = false
pixel_size = 0.007
billboard = 1
render_priority = 3
texture = ExtResource("3_g3ydi")
region_enabled = true
region_rect = Rect2(-8, 1, 498, 682)
[node name="02" type="Sprite3D" parent="BigPlant"]
visible = false
pixel_size = 0.007
billboard = 1
render_priority = 3
texture = ExtResource("3_g3ydi")
region_enabled = true
region_rect = Rect2(575, 82, 516, 591)
[node name="03" type="Sprite3D" parent="BigPlant"]
visible = false
pixel_size = 0.007
billboard = 1
render_priority = 3
texture = ExtResource("3_g3ydi")
region_enabled = true
region_rect = Rect2(-25, 694, 521, 687)
[node name="04" type="Sprite3D" parent="BigPlant"]
visible = false
pixel_size = 0.007
billboard = 1
render_priority = 3
texture = ExtResource("3_g3ydi")
region_enabled = true
region_rect = Rect2(546, 697, 535, 687)
[node name="ReadyPlant" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.3, 0)
[node name="01" type="Sprite3D" parent="ReadyPlant"]
visible = false
pixel_size = 0.007
billboard = 1
render_priority = 3
texture = ExtResource("4_7hsvc")
region_enabled = true
region_rect = Rect2(399, 3, 679, 808)
[node name="02" type="Sprite3D" parent="ReadyPlant"]
visible = false
pixel_size = 0.007
billboard = 1
render_priority = 3
texture = ExtResource("4_7hsvc")
region_enabled = true
region_rect = Rect2(1077, 109, 633, 695)
[node name="03" type="Sprite3D" parent="ReadyPlant"]
visible = false
pixel_size = 0.007
billboard = 1
render_priority = 3
texture = ExtResource("4_7hsvc")
region_enabled = true
region_rect = Rect2(415, 838, 639, 817)
[node name="04" type="Sprite3D" parent="ReadyPlant"]
visible = false
pixel_size = 0.007
billboard = 1
render_priority = 3
texture = ExtResource("4_7hsvc")
region_enabled = true
region_rect = Rect2(1167, 863, 528, 785)
[node name="InteractionArea" parent="." instance=ExtResource("5_n6ufi")]
[node name="CollisionShape3D" parent="InteractionArea/Area3D" index="0"]
shape = SubResource("SphereShape3D_l3nrf")
[connection signal="Interacted" from="InteractionArea" to="." method="Grow"]
[editable path="InteractionArea"]

@ -1,11 +1,11 @@
[gd_scene load_steps=11 format=3 uid="uid://c3hwbwo423nbm"] [gd_scene load_steps=11 format=3 uid="uid://c3hwbwo423nbm"]
[ext_resource type="Script" uid="uid://cms357f23fmfy" path="res://scripts/CSharp/Common/Farming/PlantBehaviour2D.cs" id="1_tikj4"] [ext_resource type="Script" uid="uid://cms357f23fmfy" path="res://scripts/CSharp/Common/Farming/PlantBehaviour2D.cs" id="1_tikj4"]
[ext_resource type="Shader" uid="uid://braevmqauoek7" path="res://prefabs/farm/swaying_plant.gdshader" id="2_goh03"] [ext_resource type="Shader" uid="uid://braevmqauoek7" path="res://shader/swaying_plant.gdshader" id="2_goh03"]
[ext_resource type="Texture2D" uid="uid://dtr4uga5uspg" path="res://art/farm/farming/farmobjekte/tomaten/tomaten baby.png" id="2_rmjrk"] [ext_resource type="Texture2D" uid="uid://dtr4uga5uspg" path="res://art/farm/farming/farmobjekte/tomaten/tomaten baby.png" id="2_rmjrk"]
[ext_resource type="Texture2D" uid="uid://b2gu6ur2xc7s4" path="res://art/farm/farming/farmobjekte/tomaten/tomaten blume.png" id="3_goh03"] [ext_resource type="Texture2D" uid="uid://b2gu6ur2xc7s4" path="res://art/farm/farming/farmobjekte/tomaten/tomaten blume.png" id="3_goh03"]
[ext_resource type="Texture2D" uid="uid://cnwd3mb3jnuxm" path="res://art/farm/farming/farmobjekte/tomaten/teen adulte tomaten.png" id="4_u4cty"] [ext_resource type="Texture2D" uid="uid://cnwd3mb3jnuxm" path="res://art/farm/farming/farmobjekte/tomaten/teen adulte tomaten.png" id="4_u4cty"]
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interaction_area_2d.tscn" id="5_tikj4"] [ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="5_tikj4"]
[ext_resource type="PackedScene" uid="uid://dpbbroif2tnil" path="res://prefabs/interactions/generic_item_on_ground_2d.tscn" id="6_u4cty"] [ext_resource type="PackedScene" uid="uid://dpbbroif2tnil" path="res://prefabs/interactions/generic_item_on_ground_2d.tscn" id="6_u4cty"]
[ext_resource type="Resource" uid="uid://blr8tine5m0ma" path="res://resources/items/tomato.tres" id="7_yntkb"] [ext_resource type="Resource" uid="uid://blr8tine5m0ma" path="res://resources/items/tomato.tres" id="7_yntkb"]

@ -1,8 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://bqhnejufg5ei2"]
[ext_resource type="Texture2D" uid="uid://csig0r8rffflt" path="res://art/farm/farming/farmobjekte/zaun/fence part end part.png" id="1_qau34"]
[node name="fence_part_01" type="Sprite3D"]
offset = Vector2(0, 300)
pixel_size = 0.005
texture = ExtResource("1_qau34")

@ -1,8 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://cxceu5dgq3akw"]
[ext_resource type="Texture2D" uid="uid://3ed3dgq3irn2" path="res://art/farm/farming/farmobjekte/zaun/tilable fence end part2.png" id="1_uxygd"]
[node name="fence_part_02" type="Sprite3D"]
offset = Vector2(0, 300)
pixel_size = 0.005
texture = ExtResource("1_uxygd")

@ -1,8 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://cm5oekefe6ct3"]
[ext_resource type="Texture2D" uid="uid://btea6eyucsyxj" path="res://art/farm/farming/farmobjekte/zaun/tilable fence middle part.png" id="1_rucex"]
[node name="fence_part_03" type="Sprite3D"]
offset = Vector2(0, 300)
pixel_size = 0.005
texture = ExtResource("1_rucex")

@ -1,11 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://bg7nyvbojnrvr"]
[ext_resource type="Texture2D" uid="uid://dldk8n51ag8fh" path="res://art/nature/baum märz 2025/backtreebois team brandon.png" id="1_d1wks"]
[node name="forest_tree_01" type="Sprite3D"]
offset = Vector2(0, 600)
pixel_size = 0.005
billboard = 1
texture = ExtResource("1_d1wks")
region_enabled = true
region_rect = Rect2(9, 2, 885, 1366)

@ -1,11 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://kbc6pku0nxxp"]
[ext_resource type="Texture2D" uid="uid://dldk8n51ag8fh" path="res://art/nature/baum märz 2025/backtreebois team brandon.png" id="1_ajmtd"]
[node name="forest_tree_02" type="Sprite3D"]
offset = Vector2(0, 500)
pixel_size = 0.005
billboard = 1
texture = ExtResource("1_ajmtd")
region_enabled = true
region_rect = Rect2(913, -6, 786, 1336)

@ -1,11 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://d0xs8ls3i4miq"]
[ext_resource type="Texture2D" uid="uid://dldk8n51ag8fh" path="res://art/nature/baum märz 2025/backtreebois team brandon.png" id="1_h17at"]
[node name="forest_tree_03" type="Sprite3D"]
offset = Vector2(0, 600)
pixel_size = 0.005
billboard = 1
texture = ExtResource("1_h17at")
region_enabled = true
region_rect = Rect2(1807, 10, 761, 1337)

@ -1,11 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://ihmmcxjosoev"]
[ext_resource type="Texture2D" uid="uid://dldk8n51ag8fh" path="res://art/nature/baum märz 2025/backtreebois team brandon.png" id="1_tjsek"]
[node name="forest_tree_04" type="Sprite3D"]
offset = Vector2(0, 550)
pixel_size = 0.005
billboard = 1
texture = ExtResource("1_tjsek")
region_enabled = true
region_rect = Rect2(2726, 0, 561, 1335)

@ -1,11 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://bow7d6s6djcm3"]
[ext_resource type="Texture2D" uid="uid://bmjjfd5ngptxe" path="res://art/nature/baum märz 2025/backtreebois team kennedy.png" id="1_gximh"]
[node name="forest_tree_05" type="Sprite3D"]
offset = Vector2(0, 550)
pixel_size = 0.005
billboard = 1
texture = ExtResource("1_gximh")
region_enabled = true
region_rect = Rect2(0, 0, 412, 1372)

@ -1,11 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://cr0vgjbyprgf7"]
[ext_resource type="Texture2D" uid="uid://bmjjfd5ngptxe" path="res://art/nature/baum märz 2025/backtreebois team kennedy.png" id="1_mi0fd"]
[node name="forest_tree_07" type="Sprite3D"]
offset = Vector2(0, 500)
pixel_size = 0.005
billboard = 1
texture = ExtResource("1_mi0fd")
region_enabled = true
region_rect = Rect2(1509, 0, 396, 1109)

@ -1,11 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://cjm7fupgsdoev"]
[ext_resource type="Texture2D" uid="uid://bmjjfd5ngptxe" path="res://art/nature/baum märz 2025/backtreebois team kennedy.png" id="1_23yv8"]
[node name="forest_tree_07" type="Sprite3D"]
offset = Vector2(0, 550)
pixel_size = 0.005
billboard = 1
texture = ExtResource("1_23yv8")
region_enabled = true
region_rect = Rect2(666, 0, 614, 1508)

@ -1,11 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://b3s7e5fxx6gla"]
[ext_resource type="Texture2D" uid="uid://bqoyk3fsrmu1x" path="res://art/nature/baum märz 2025/back back trees.png" id="1_pbmot"]
[node name="back_tree_01" type="Sprite3D"]
offset = Vector2(0, 350)
pixel_size = 0.005
billboard = 1
texture = ExtResource("1_pbmot")
region_enabled = true
region_rect = Rect2(0, 0, 216, 729)

@ -1,11 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://bk7273x4ns0y7"]
[ext_resource type="Texture2D" uid="uid://bqoyk3fsrmu1x" path="res://art/nature/baum märz 2025/back back trees.png" id="1_d14xl"]
[node name="back_tree_02" type="Sprite3D"]
offset = Vector2(0, 180)
pixel_size = 0.005
billboard = 1
texture = ExtResource("1_d14xl")
region_enabled = true
region_rect = Rect2(449, 451, 139, 419)

@ -1,11 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://cdthpc0t0vw33"]
[ext_resource type="Texture2D" uid="uid://bqoyk3fsrmu1x" path="res://art/nature/baum märz 2025/back back trees.png" id="1_56db7"]
[node name="back_tree_03" type="Sprite3D"]
offset = Vector2(0, 400)
pixel_size = 0.005
billboard = 1
texture = ExtResource("1_56db7")
region_enabled = true
region_rect = Rect2(783, 0, 253, 952)

@ -1,11 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://s2g3bhowe5i6"]
[ext_resource type="Texture2D" uid="uid://bqoyk3fsrmu1x" path="res://art/nature/baum märz 2025/back back trees.png" id="1_q4uhv"]
[node name="back_tree_04" type="Sprite3D"]
offset = Vector2(0, 300)
pixel_size = 0.005
billboard = 1
texture = ExtResource("1_q4uhv")
region_enabled = true
region_rect = Rect2(1373, 0, 148, 755)

@ -1,11 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://2l6jq8rjs14m"]
[ext_resource type="Texture2D" uid="uid://bqoyk3fsrmu1x" path="res://art/nature/baum märz 2025/back back trees.png" id="1_gvats"]
[node name="back_tree_06" type="Sprite3D"]
offset = Vector2(0, 350)
pixel_size = 0.005
billboard = 1
texture = ExtResource("1_gvats")
region_enabled = true
region_rect = Rect2(2291, 0, 140, 796)

@ -1,11 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://cskaqpqawov2k"]
[ext_resource type="Texture2D" uid="uid://bqoyk3fsrmu1x" path="res://art/nature/baum märz 2025/back back trees.png" id="1_43kgf"]
[node name="back_tree_05" type="Sprite3D"]
offset = Vector2(0, 400)
pixel_size = 0.005
billboard = 1
texture = ExtResource("1_43kgf")
region_enabled = true
region_rect = Rect2(1786, 0, 268, 904)

@ -1,11 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://w03yk6rx0gs2"]
[ext_resource type="Texture2D" uid="uid://bqoyk3fsrmu1x" path="res://art/nature/baum märz 2025/back back trees.png" id="1_qf7aa"]
[node name="back_tree_07" type="Sprite3D"]
offset = Vector2(0, 400)
pixel_size = 0.005
billboard = 1
texture = ExtResource("1_qf7aa")
region_enabled = true
region_rect = Rect2(3129, 0, 138, 942)

@ -1,11 +0,0 @@
[gd_scene load_steps=2 format=3 uid="uid://cs382pd0muub1"]
[ext_resource type="Texture2D" uid="uid://bqoyk3fsrmu1x" path="res://art/nature/baum märz 2025/back back trees.png" id="1_cokmy"]
[node name="back_tree_08" type="Sprite3D"]
offset = Vector2(0, 150)
pixel_size = 0.005
billboard = 1
texture = ExtResource("1_cokmy")
region_enabled = true
region_rect = Rect2(2647, 464, 245, 420)

File diff suppressed because it is too large Load Diff

@ -1,34 +0,0 @@
[gd_scene load_steps=3 format=3 uid="uid://ob04y3syvo0e"]
[ext_resource type="Script" uid="uid://dumwt7lledufm" path="res://scripts/CSharp/Common/CharacterControls/InteractionArea.cs" id="1_b15wn"]
[sub_resource type="SphereShape3D" id="SphereShape3D_i8sim"]
resource_local_to_scene = true
radius = 2.0
[node name="InteractionArea" type="Node3D" node_paths=PackedStringArray("_area", "_label")]
script = ExtResource("1_b15wn")
_area = NodePath("Area3D")
_label = NodePath("Label3D")
[node name="Area3D" type="Area3D" parent="."]
collision_mask = 16
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"]
shape = SubResource("SphereShape3D_i8sim")
[node name="Label3D" type="Label3D" parent="."]
visible = false
sorting_offset = 100.0
pixel_size = 0.01
billboard = 1
no_depth_test = true
fixed_size = true
render_priority = 100
outline_render_priority = 99
text = "[E]"
font_size = 20
outline_size = 8
[connection signal="body_entered" from="Area3D" to="." method="OnPlayerEntered"]
[connection signal="body_exited" from="Area3D" to="." method="OnPlayerExited"]

@ -1,26 +0,0 @@
[gd_scene load_steps=5 format=3 uid="uid://5hltxpdxmqcq"]
[ext_resource type="Script" uid="uid://udhigottc8rg" path="res://scripts/CSharp/Common/Inventory/ItemOnGround.cs" id="1_mnomu"]
[ext_resource type="PackedScene" uid="uid://ob04y3syvo0e" path="res://prefabs/interaction_area.tscn" id="2_ue6ub"]
[ext_resource type="Script" uid="uid://c8suoi3i6kqai" path="res://scripts/CSharp/Common/Inventory/ItemOnGroundSpawnWith.cs" id="3_ue6ub"]
[ext_resource type="Resource" uid="uid://c7viddcd3kywp" path="res://resources/items/shovel.tres" id="4_sfad0"]
[node name="GenericItemOnGround" type="Node3D"]
script = ExtResource("1_mnomu")
[node name="InteractionArea" parent="." instance=ExtResource("2_ue6ub")]
[node name="SpawnWithItem" type="Node" parent="."]
script = ExtResource("3_ue6ub")
_blueprint = ExtResource("4_sfad0")
[node name="ItemLabel" type="Label3D" parent="."]
offset = Vector2(0, 55.64)
billboard = 1
text = "test"
[node name="PickupErrorLabel" type="Label3D" parent="."]
offset = Vector2(0, 150)
billboard = 1
[connection signal="Interacted" from="InteractionArea" to="." method="TryPickUp"]

@ -2,7 +2,7 @@
[ext_resource type="Script" uid="uid://btusf04xnywhm" path="res://scripts/CSharp/Common/Inventory/ItemOnGround2D.cs" id="1_tlhp6"] [ext_resource type="Script" uid="uid://btusf04xnywhm" path="res://scripts/CSharp/Common/Inventory/ItemOnGround2D.cs" id="1_tlhp6"]
[ext_resource type="Script" uid="uid://c8suoi3i6kqai" path="res://scripts/CSharp/Common/Inventory/ItemOnGroundSpawnWith.cs" id="3_xu8me"] [ext_resource type="Script" uid="uid://c8suoi3i6kqai" path="res://scripts/CSharp/Common/Inventory/ItemOnGroundSpawnWith.cs" id="3_xu8me"]
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interaction_area_2d.tscn" id="4_xu8me"] [ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="4_xu8me"]
[ext_resource type="Texture2D" uid="uid://cfxibry711o16" path="res://art/ui/UI/icons/icon-scythe.png" id="5_harr4"] [ext_resource type="Texture2D" uid="uid://cfxibry711o16" path="res://art/ui/UI/icons/icon-scythe.png" id="5_harr4"]
[sub_resource type="Theme" id="Theme_tlhp6"] [sub_resource type="Theme" id="Theme_tlhp6"]

@ -1,42 +0,0 @@
[gd_scene load_steps=5 format=3 uid="uid://cf0jpuio8tgim"]
[ext_resource type="Script" uid="uid://v34pl0nlp4x" path="res://scripts/CSharp/Common/SpriteSwitcher.cs" id="1_scmhv"]
[ext_resource type="Texture2D" uid="uid://3pj2q7wtuion" path="res://art/farm/farming/farmobjekte/hoe.png" id="2_scmhv"]
[sub_resource type="SphereMesh" id="SphereMesh_0ptl4"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_scmhv"]
transparency = 1
blend_mode = 3
emission_enabled = true
emission = Color(1, 1, 1, 1)
[node name="SpriteSwitcher" type="Node3D" node_paths=PackedStringArray("_trueSprite", "_falseSprite")]
script = ExtResource("1_scmhv")
_trueSprite = NodePath("On Sprite")
_falseSprite = NodePath("Off Sprite")
[node name="On Sprite" type="Sprite3D" parent="."]
modulate = Color(0, 0.996078, 0, 1)
pixel_size = 0.001
billboard = 1
texture = ExtResource("2_scmhv")
region_enabled = true
region_rect = Rect2(1048, 225, 250, 1164)
[node name="Off Sprite" type="Sprite3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, -8.47033e-22, 0, 8.47033e-22, 1, 0.106585, 0, 0.0173626)
visible = false
modulate = Color(1, 0, 0, 1)
pixel_size = 0.001
billboard = 1
texture = ExtResource("2_scmhv")
region_enabled = true
region_rect = Rect2(1048, 225, 250, 1164)
[node name="CSGMesh3D" type="CSGMesh3D" parent="."]
transparency = 0.5
cast_shadow = 0
calculate_tangents = false
mesh = SubResource("SphereMesh_0ptl4")
material = SubResource("StandardMaterial3D_scmhv")

@ -1,36 +0,0 @@
[gd_scene load_steps=6 format=3 uid="uid://dd3giw31imfk4"]
[ext_resource type="Script" uid="uid://c3itdui8uq68b" path="res://scripts/GdScript/player.gd" id="1_rhqwr"]
[ext_resource type="Texture2D" uid="uid://cumdgxn0ibpv7" path="res://art/mockups/TakeThatCandy.png" id="2_eul5n"]
[ext_resource type="Texture2D" uid="uid://dj1syhq0dmf3p" path="res://art/mockups/Doll.png" id="3_mpdnl"]
[ext_resource type="Texture2D" uid="uid://bcah7lrg2oae1" path="res://art/mockups/IveSeenSomeShit.png" id="4_631ct"]
[ext_resource type="Texture2D" uid="uid://cvn2p215jq2am" path="res://art/mockups/concerned.png" id="5_ayafy"]
[node name="player" type="Node2D"]
z_as_relative = false
y_sort_enabled = true
script = ExtResource("1_rhqwr")
speed = 300.0
[node name="TakeThatCandy" type="Sprite2D" parent="."]
visible = false
scale = Vector2(0.4, 0.4)
texture = ExtResource("2_eul5n")
offset = Vector2(16.71, -221.315)
[node name="Doll" type="Sprite2D" parent="."]
visible = false
scale = Vector2(0.450315, 0.450315)
texture = ExtResource("3_mpdnl")
offset = Vector2(-8.925, -208.125)
[node name="IveSeenSomeShit" type="Sprite2D" parent="."]
visible = false
scale = Vector2(0.367314, 0.367314)
texture = ExtResource("4_631ct")
offset = Vector2(-16.49, -269.615)
[node name="Concerned" type="Sprite2D" parent="."]
scale = Vector2(0.388489, 0.388489)
texture = ExtResource("5_ayafy")
offset = Vector2(-24.175, -249.235)

@ -89,11 +89,14 @@ enabled=PackedStringArray("res://addons/anthonyec.camera_preview/plugin.cfg", "r
[file_customization] [file_customization]
folder_colors={ folder_colors={
"res://_builds/": "gray",
"res://_clips/": "gray",
"res://addons/": "red", "res://addons/": "red",
"res://art/": "orange", "res://art/": "orange",
"res://audio/": "yellow", "res://audio/": "yellow",
"res://dialog/": "green", "res://dialog/": "green",
"res://prefabs/": "teal", "res://prefabs/": "teal",
"res://resources/": "teal",
"res://scenes/": "blue", "res://scenes/": "blue",
"res://scripts/": "purple", "res://scripts/": "purple",
"res://shader/": "pink" "res://shader/": "pink"

@ -1,6 +1,6 @@
[gd_scene load_steps=56 format=3 uid="uid://gigb28qk8t12"] [gd_scene load_steps=56 format=3 uid="uid://gigb28qk8t12"]
[ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/Player2D.tscn" id="1_7wfwe"] [ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/interactions/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"] [ext_resource type="Texture2D" uid="uid://8sr11ex30n0m" path="res://art/mockups/Kenney_Backgrounds/Samples/uncolored_hills.png" id="2_7b2ri"]
[ext_resource type="Texture2D" uid="uid://c7f3t65jskd6v" path="res://art/mockups/house_prototype.png" id="2_lhtpe"] [ext_resource type="Texture2D" uid="uid://c7f3t65jskd6v" path="res://art/mockups/house_prototype.png" id="2_lhtpe"]
[ext_resource type="Texture2D" uid="uid://be1nofeo7an0" path="res://art/mockups/Kenney_Backgrounds/PNG/cloud2.png" id="3_r34wi"] [ext_resource type="Texture2D" uid="uid://be1nofeo7an0" path="res://art/mockups/Kenney_Backgrounds/PNG/cloud2.png" id="3_r34wi"]
@ -28,7 +28,7 @@
[ext_resource type="PackedScene" uid="uid://dpbbroif2tnil" path="res://prefabs/interactions/generic_item_on_ground_2d.tscn" id="25_hukxv"] [ext_resource type="PackedScene" uid="uid://dpbbroif2tnil" path="res://prefabs/interactions/generic_item_on_ground_2d.tscn" id="25_hukxv"]
[ext_resource type="Resource" uid="uid://c5yg3lx756v4v" path="res://resources/items/hoe.tres" id="26_ipqaa"] [ext_resource type="Resource" uid="uid://c5yg3lx756v4v" path="res://resources/items/hoe.tres" id="26_ipqaa"]
[ext_resource type="Resource" uid="uid://c7viddcd3kywp" path="res://resources/items/shovel.tres" id="27_ipqaa"] [ext_resource type="Resource" uid="uid://c7viddcd3kywp" path="res://resources/items/shovel.tres" id="27_ipqaa"]
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interaction_area_2d.tscn" id="27_klb81"] [ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="27_klb81"]
[ext_resource type="Resource" uid="uid://dlcmqfjvgphqu" path="res://resources/items/rake.tres" id="28_6b2nr"] [ext_resource type="Resource" uid="uid://dlcmqfjvgphqu" path="res://resources/items/rake.tres" id="28_6b2nr"]
[ext_resource type="Resource" uid="uid://cndd64batns31" path="res://resources/items/wateringcan.tres" id="28_ipqaa"] [ext_resource type="Resource" uid="uid://cndd64batns31" path="res://resources/items/wateringcan.tres" id="28_ipqaa"]
[ext_resource type="Resource" uid="uid://datee0flk1e84" path="res://resources/items/scythe.tres" id="29_wtdui"] [ext_resource type="Resource" uid="uid://datee0flk1e84" path="res://resources/items/scythe.tres" id="29_wtdui"]

@ -1,246 +0,0 @@
[gd_scene load_steps=24 format=3 uid="uid://br7yq757cawts"]
[ext_resource type="Material" uid="uid://p1mf3uc4k164" path="res://art/materials/Tilleable_ground.tres" id="1_6i8r8"]
[ext_resource type="PackedScene" uid="uid://dbd1niu3tp8y5" path="res://prefabs/Player3D.tscn" id="1_b1ibi"]
[ext_resource type="Texture2D" uid="uid://d2osodaofb2ya" path="res://art/skyboxes/sky_34_2k.png" id="1_ww4l5"]
[ext_resource type="PackedScene" uid="uid://biwd3jj65qrlh" path="res://prefabs/farm/base_field.tscn" id="2_72r8y"]
[ext_resource type="PackedScene" uid="uid://ob04y3syvo0e" path="res://prefabs/interaction_area.tscn" id="4_r4sre"]
[ext_resource type="PackedScene" uid="uid://cgjc4wurbgimy" path="res://prefabs/UI/Inventory/Inventory.tscn" id="5_obfp0"]
[ext_resource type="Texture2D" uid="uid://x8hr8287ff2n" path="res://art/farm/farming/farmobjekte/tools atlas.png" id="5_r4sre"]
[ext_resource type="PackedScene" uid="uid://cf0jpuio8tgim" path="res://prefabs/interactions/sprite_switcher.tscn" id="6_r4sre"]
[ext_resource type="Script" uid="uid://c6hh7m8wikv04" path="res://scripts/CSharp/Common/Farming/FieldService.cs" id="7_0ptl4"]
[ext_resource type="PackedScene" uid="uid://dryo4gjixvs2c" path="res://prefabs/forest/vesna_farm_background_trees.tscn" id="9_pg8h5"]
[ext_resource type="PackedScene" uid="uid://bqhnejufg5ei2" path="res://prefabs/farm/fence_part_01.tscn" id="10_84r6a"]
[ext_resource type="PackedScene" uid="uid://cxceu5dgq3akw" path="res://prefabs/farm/fence_part_02.tscn" id="11_nmncb"]
[ext_resource type="PackedScene" uid="uid://cm5oekefe6ct3" path="res://prefabs/farm/fence_part_03.tscn" id="12_ww4l5"]
[ext_resource type="Texture2D" uid="uid://c7f3t65jskd6v" path="res://art/mockups/house_prototype.png" id="13_nmncb"]
[sub_resource type="Shader" id="Shader_m0ieq"]
code = "
// NOTE: Shader automatically converted from Godot Engine 4.4.stable.mono's PanoramaSkyMaterial.
shader_type sky;
uniform sampler2D source_panorama : filter_linear, source_color, hint_default_black;
uniform float exposure : hint_range(0, 128) = 1.0;
uniform float speed = 0.002;
void sky() {
vec2 dir = vec2(SKY_COORDS.x + TIME * speed, SKY_COORDS.y);
COLOR = texture(source_panorama, dir).rgb * exposure;
}
"
[sub_resource type="ShaderMaterial" id="ShaderMaterial_prdor"]
shader = SubResource("Shader_m0ieq")
shader_parameter/source_panorama = ExtResource("1_ww4l5")
shader_parameter/exposure = 1.0
shader_parameter/speed = 0.002
[sub_resource type="Sky" id="Sky_ww4l5"]
sky_material = SubResource("ShaderMaterial_prdor")
[sub_resource type="Environment" id="Environment_m0ieq"]
background_mode = 2
sky = SubResource("Sky_ww4l5")
tonemap_mode = 2
glow_enabled = true
[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_prdor"]
dof_blur_far_distance = 563.99
dof_blur_far_transition = 6118.24
dof_blur_amount = 0.04
[sub_resource type="Compositor" id="Compositor_nmncb"]
[sub_resource type="PlaneMesh" id="PlaneMesh_8yprl"]
[sub_resource type="BoxShape3D" id="BoxShape3D_t58di"]
size = Vector3(2.01563, 0.160522, 2.00824)
[sub_resource type="SphereShape3D" id="SphereShape3D_0ptl4"]
resource_local_to_scene = true
radius = 1.0
[node name="SceneFarmVesna" type="Node3D"]
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_m0ieq")
camera_attributes = SubResource("CameraAttributesPractical_prdor")
compositor = SubResource("Compositor_nmncb")
[node name="Floor" type="MeshInstance3D" parent="."]
transform = Transform3D(50, 0, 0, 0, 50, 0, 0, 0, 50, 0, 0, 0)
mesh = SubResource("PlaneMesh_8yprl")
skeleton = NodePath("")
surface_material_override/0 = ExtResource("1_6i8r8")
[node name="StaticBody3D" type="StaticBody3D" parent="Floor"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Floor/StaticBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.000976563, -0.0739136, -0.00112915)
shape = SubResource("BoxShape3D_t58di")
[node name="Player3d" parent="." node_paths=PackedStringArray("_fieldParent") instance=ExtResource("1_b1ibi")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.51633, 0.725631, 3.57249)
_fieldParent = NodePath("../FieldService")
[node name="Camera3D" parent="Player3d/CharacterBody3D/CameraPivot2/SubPivot" index="0"]
transform = Transform3D(1, 0, 0, 0, 0.999848, 0.0174524, 0, -0.0174524, 0.999848, -0.0957985, 0.560819, 1.64224)
projection = 1
fov = 134.5
size = 4.467
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.618408, 0.785857, 0, -0.785857, 0.618408, -0.802612, 0, 4.73262)
light_color = Color(0.838036, 0.913171, 1, 1)
[node name="BaseField" parent="." instance=ExtResource("2_72r8y")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0.0574723, 0)
visible = false
[node name="HoePickup" parent="." instance=ExtResource("4_r4sre")]
transform = Transform3D(1, 0, 0, 0, 1, -1.06581e-14, 0, 1.06581e-14, 1, -4.327, 1.5, -3.447)
[node name="CollisionShape3D" parent="HoePickup/Area3D" index="0"]
shape = SubResource("SphereShape3D_0ptl4")
[node name="SpriteSwitcher Hoe" parent="HoePickup" instance=ExtResource("6_r4sre")]
[node name="Watering Can Pickup" parent="." instance=ExtResource("4_r4sre")]
transform = Transform3D(1, 0, 0, 0, 1, -1.06581e-14, 0, 1.06581e-14, 1, -2.3908, 1.5, -3.447)
[node name="CollisionShape3D" parent="Watering Can Pickup/Area3D" index="0"]
shape = SubResource("SphereShape3D_0ptl4")
[node name="SpriteSwitcher Hoe" parent="Watering Can Pickup" instance=ExtResource("6_r4sre")]
[node name="On Sprite" parent="Watering Can Pickup/SpriteSwitcher Hoe" index="0"]
texture = ExtResource("5_r4sre")
region_rect = Rect2(-3, 1141, 423, 280)
[node name="Off Sprite" parent="Watering Can Pickup/SpriteSwitcher Hoe" index="1"]
texture = ExtResource("5_r4sre")
region_rect = Rect2(-3, 1137, 424, 285)
[node name="Inventory" parent="." instance=ExtResource("5_obfp0")]
visible = false
[node name="FieldService" type="Node3D" parent="."]
script = ExtResource("7_0ptl4")
metadata/_custom_type_script = "uid://c6hh7m8wikv04"
[node name="Background Trees" parent="." instance=ExtResource("9_pg8h5")]
[node name="Fence" type="Node" parent="."]
[node name="fencegroup" type="Node3D" parent="Fence"]
[node name="fence_part_01" parent="Fence/fencegroup" instance=ExtResource("10_84r6a")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0, 0)
[node name="fence_part_02" parent="Fence/fencegroup" instance=ExtResource("11_nmncb")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0.036, 3.5)
[node name="fence_part_03" parent="Fence/fencegroup" instance=ExtResource("12_ww4l5")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0, -3.5)
[node name="fencegroup6" type="Node3D" parent="Fence"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -10.5)
[node name="fence_part_01" parent="Fence/fencegroup6" instance=ExtResource("10_84r6a")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0, 0)
[node name="fence_part_02" parent="Fence/fencegroup6" instance=ExtResource("11_nmncb")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0.036, 3.5)
[node name="fence_part_03" parent="Fence/fencegroup6" instance=ExtResource("12_ww4l5")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0, -3.5)
[node name="fencegroup7" type="Node3D" parent="Fence"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -21)
[node name="fence_part_01" parent="Fence/fencegroup7" instance=ExtResource("10_84r6a")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0, 0)
[node name="fence_part_02" parent="Fence/fencegroup7" instance=ExtResource("11_nmncb")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0.036, 3.5)
[node name="fence_part_03" parent="Fence/fencegroup7" instance=ExtResource("12_ww4l5")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0, -3.5)
[node name="fencegroup8" type="Node3D" parent="Fence"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -31.5)
[node name="fence_part_01" parent="Fence/fencegroup8" instance=ExtResource("10_84r6a")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0, 0)
[node name="fence_part_02" parent="Fence/fencegroup8" instance=ExtResource("11_nmncb")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0.036, 3.5)
[node name="fence_part_03" parent="Fence/fencegroup8" instance=ExtResource("12_ww4l5")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0, -3.5)
[node name="fencegroup2" type="Node3D" parent="Fence"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 10.5)
[node name="fence_part_01" parent="Fence/fencegroup2" instance=ExtResource("10_84r6a")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0, 0)
[node name="fence_part_02" parent="Fence/fencegroup2" instance=ExtResource("11_nmncb")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0.036, 3.5)
[node name="fence_part_03" parent="Fence/fencegroup2" instance=ExtResource("12_ww4l5")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0, -3.5)
[node name="fencegroup3" type="Node3D" parent="Fence"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 21)
[node name="fence_part_01" parent="Fence/fencegroup3" instance=ExtResource("10_84r6a")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0, 0)
[node name="fence_part_02" parent="Fence/fencegroup3" instance=ExtResource("11_nmncb")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0.036, 3.5)
[node name="fence_part_03" parent="Fence/fencegroup3" instance=ExtResource("12_ww4l5")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0, -3.5)
[node name="fencegroup4" type="Node3D" parent="Fence"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 31.5)
[node name="fence_part_01" parent="Fence/fencegroup4" instance=ExtResource("10_84r6a")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0, 0)
[node name="fence_part_02" parent="Fence/fencegroup4" instance=ExtResource("11_nmncb")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0.036, 3.5)
[node name="fence_part_03" parent="Fence/fencegroup4" instance=ExtResource("12_ww4l5")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0, -3.5)
[node name="fencegroup5" type="Node3D" parent="Fence"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 42)
[node name="fence_part_01" parent="Fence/fencegroup5" instance=ExtResource("10_84r6a")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0, 0)
[node name="fence_part_02" parent="Fence/fencegroup5" instance=ExtResource("11_nmncb")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0.036, 3.5)
[node name="fence_part_03" parent="Fence/fencegroup5" instance=ExtResource("12_ww4l5")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -45, 0, -3.5)
[node name="House" type="Sprite3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.28486, 1.15105, 6.0303)
pixel_size = 0.005
billboard = 1
texture = ExtResource("13_nmncb")
[connection signal="Interacted" from="HoePickup" to="HoePickup/SpriteSwitcher Hoe" method="SwitchState"]
[connection signal="Switch" from="HoePickup/SpriteSwitcher Hoe" to="Player3d" method="ActivateHoe"]
[connection signal="Interacted" from="Watering Can Pickup" to="Watering Can Pickup/SpriteSwitcher Hoe" method="SwitchState"]
[connection signal="Switch" from="Watering Can Pickup/SpriteSwitcher Hoe" to="Player3d" method="ActivateWateringCan"]
[editable path="Player3d"]
[editable path="HoePickup"]
[editable path="Watering Can Pickup"]
[editable path="Watering Can Pickup/SpriteSwitcher Hoe"]

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://chvc0e4441o2k"] [gd_scene load_steps=3 format=3 uid="uid://chvc0e4441o2k"]
[ext_resource type="Texture2D" uid="uid://ejq7h5pgxl84" path="res://art/indoor/küchenraum.png" id="2_ttdge"] [ext_resource type="Texture2D" uid="uid://ejq7h5pgxl84" path="res://art/indoor/küchenraum.png" id="2_ttdge"]
[ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/Player2D.tscn" id="3_oibke"] [ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/interactions/Player2D.tscn" id="3_oibke"]
[node name="IndoorTest" type="Node2D"] [node name="IndoorTest" type="Node2D"]

@ -1,6 +1,6 @@
[gd_scene load_steps=20 format=3 uid="uid://bm21nqepnwaik"] [gd_scene load_steps=20 format=3 uid="uid://bm21nqepnwaik"]
[ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/Player2D.tscn" id="2_a2ood"] [ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/interactions/Player2D.tscn" id="2_a2ood"]
[ext_resource type="Texture2D" uid="uid://waqmjrxduxfq" path="res://art/indoor/room export/Room_01_walls.png" id="3_a2ood"] [ext_resource type="Texture2D" uid="uid://waqmjrxduxfq" path="res://art/indoor/room export/Room_01_walls.png" id="3_a2ood"]
[ext_resource type="Texture2D" uid="uid://cnhsxxps2cw5" path="res://art/indoor/room export/Room_01_table.png" id="3_je1cl"] [ext_resource type="Texture2D" uid="uid://cnhsxxps2cw5" path="res://art/indoor/room export/Room_01_table.png" id="3_je1cl"]
[ext_resource type="Texture2D" uid="uid://blg50is4kuh2f" path="res://art/indoor/room export/Room_01_chair.png" id="4_hjjhl"] [ext_resource type="Texture2D" uid="uid://blg50is4kuh2f" path="res://art/indoor/room export/Room_01_chair.png" id="4_hjjhl"]
@ -13,7 +13,7 @@
[ext_resource type="Texture2D" uid="uid://bpi35nxbhput8" path="res://art/indoor/room export/Room_01_pechkaDoor.png" id="10_835kg"] [ext_resource type="Texture2D" uid="uid://bpi35nxbhput8" path="res://art/indoor/room export/Room_01_pechkaDoor.png" id="10_835kg"]
[ext_resource type="Texture2D" uid="uid://tyypifpte0pb" path="res://art/indoor/room export/Room_01_chugun.png" id="11_atjbs"] [ext_resource type="Texture2D" uid="uid://tyypifpte0pb" path="res://art/indoor/room export/Room_01_chugun.png" id="11_atjbs"]
[ext_resource type="Texture2D" uid="uid://x7trh4dgsvoe" path="res://art/indoor/room export/Room_01_assets.png" id="13_j5d18"] [ext_resource type="Texture2D" uid="uid://x7trh4dgsvoe" path="res://art/indoor/room export/Room_01_assets.png" id="13_j5d18"]
[ext_resource type="Script" uid="uid://cqkqijsjvbasl" path="res://scripts/spiritAnimation.cs" id="14_ciwvv"] [ext_resource type="Script" path="res://scripts/spiritAnimation.cs" id="14_ciwvv"]
[ext_resource type="Texture2D" uid="uid://ckvytnpi8gcxq" path="res://art/eyes_atlas.png" id="14_j5d18"] [ext_resource type="Texture2D" uid="uid://ckvytnpi8gcxq" path="res://art/eyes_atlas.png" id="14_j5d18"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_a2ood"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_a2ood"]

@ -1,17 +0,0 @@
[gd_scene load_steps=4 format=3 uid="uid://b6qkpdal83kyr"]
[ext_resource type="PackedScene" uid="uid://dd3giw31imfk4" path="res://prefabs/player.tscn" id="1_c1tk0"]
[ext_resource type="Script" uid="uid://51hbiq1mdpv1" path="res://scripts/GdScript/camera_controller.gd" id="4_qljgx"]
[ext_resource type="PackedScene" uid="uid://txjiuosyfv34" path="res://scenes/testing/test_world.tscn" id="7_yb6mq"]
[node name="2dTestingGround" type="Node2D"]
y_sort_enabled = true
[node name="player" parent="." instance=ExtResource("1_c1tk0")]
[node name="Camera2D" type="Camera2D" parent="."]
position = Vector2(166.03, 0)
script = ExtResource("4_qljgx")
multiplier = 100.0
[node name="World" parent="." instance=ExtResource("7_yb6mq")]

@ -1,75 +0,0 @@
[gd_scene load_steps=12 format=3 uid="uid://dbxy2y85r1d8x"]
[ext_resource type="PackedScene" uid="uid://dbd1niu3tp8y5" path="res://prefabs/Player3D.tscn" id="1_pdc5e"]
[ext_resource type="PackedScene" uid="uid://biwd3jj65qrlh" path="res://prefabs/farm/base_field.tscn" id="2_741gk"]
[ext_resource type="PackedScene" uid="uid://5hltxpdxmqcq" path="res://prefabs/interactions/generic_item_on_ground.tscn" id="5_sjt6k"]
[ext_resource type="PackedScene" uid="uid://cgjc4wurbgimy" path="res://prefabs/UI/Inventory/Inventory.tscn" id="6_876p1"]
[ext_resource type="Resource" uid="uid://cndd64batns31" path="res://resources/items/wateringcan.tres" id="6_nvnpb"]
[ext_resource type="Script" uid="uid://c6hh7m8wikv04" path="res://scripts/CSharp/Common/Farming/FieldService.cs" id="7_3rkjv"]
[ext_resource type="Resource" uid="uid://c5yg3lx756v4v" path="res://resources/items/hoe.tres" id="7_hv2km"]
[ext_resource type="Resource" uid="uid://d1uuxp1lp4aro" path="res://resources/items/tomato_seed.tres" id="8_hv2km"]
[sub_resource type="PlaneMesh" id="PlaneMesh_8yprl"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8tgff"]
albedo_color = Color(0.505882, 0.588235, 0.494118, 1)
[sub_resource type="BoxShape3D" id="BoxShape3D_t58di"]
size = Vector3(2.01563, 0.160522, 2.00824)
[node name="SceneFarmVesna" type="Node3D"]
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0)
mesh = SubResource("PlaneMesh_8yprl")
skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_8tgff")
[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/StaticBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.000976563, -0.0739136, -0.00112915)
shape = SubResource("BoxShape3D_t58di")
[node name="Player3d" parent="." node_paths=PackedStringArray("_fieldParent") instance=ExtResource("1_pdc5e")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.51633, 0.725631, 3.57249)
_fieldParent = NodePath("../FieldService")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.618408, 0.785857, 0, -0.785857, 0.618408, -0.802612, 0, 4.73262)
[node name="BaseField" parent="." instance=ExtResource("2_741gk")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0.0574723, 0)
visible = false
[node name="Inventory" parent="." instance=ExtResource("6_876p1")]
[node name="FieldService" type="Node3D" parent="."]
script = ExtResource("7_3rkjv")
[node name="GenericItemOnGround" parent="." instance=ExtResource("5_sjt6k")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.53971, -4.76837e-07, -3.81996)
[node name="SpawnWithItem" parent="GenericItemOnGround" index="1"]
_blueprint = ExtResource("6_nvnpb")
[node name="GenericItemOnGround2" parent="." instance=ExtResource("5_sjt6k")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.73646, -9.53674e-07, -3.96783)
[node name="GenericItemOnGround3" parent="." instance=ExtResource("5_sjt6k")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.43861, -4.76837e-07, -3.93506)
[node name="SpawnWithItem" parent="GenericItemOnGround3" index="1"]
_blueprint = ExtResource("7_hv2km")
[node name="GenericItemOnGround4" parent="." instance=ExtResource("5_sjt6k")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.1678, -4.76837e-07, -3.94977)
_infiniteSupply = true
[node name="SpawnWithItem" parent="GenericItemOnGround4" index="1"]
_blueprint = ExtResource("8_hv2km")
[editable path="GenericItemOnGround"]
[editable path="GenericItemOnGround2"]
[editable path="GenericItemOnGround3"]
[editable path="GenericItemOnGround4"]

@ -10,7 +10,7 @@
[ext_resource type="Texture2D" uid="uid://bradm5u7vjjxq" path="res://art/mockups/trees/darktree8.png" id="9_viosu"] [ext_resource type="Texture2D" uid="uid://bradm5u7vjjxq" path="res://art/mockups/trees/darktree8.png" id="9_viosu"]
[ext_resource type="Texture2D" uid="uid://bryqg0hb4f0ry" path="res://art/mockups/trees/darktree9.png" id="10_clutx"] [ext_resource type="Texture2D" uid="uid://bryqg0hb4f0ry" path="res://art/mockups/trees/darktree9.png" id="10_clutx"]
[ext_resource type="Texture2D" uid="uid://c1iyeflkwaqxf" path="res://art/testingground/mushroom1.png" id="11_ovtse"] [ext_resource type="Texture2D" uid="uid://c1iyeflkwaqxf" path="res://art/testingground/mushroom1.png" id="11_ovtse"]
[ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/Player2D.tscn" id="12_k41x3"] [ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/interactions/Player2D.tscn" id="12_k41x3"]
[node name="AbandonedStreet" type="Node2D"] [node name="AbandonedStreet" type="Node2D"]

File diff suppressed because it is too large Load Diff

@ -1,45 +0,0 @@
using Godot;
namespace Babushka.scripts.CSharp.Common.Camera;
public partial class CameraPivot : Node3D
{
[Export] private bool _canPitch;
[Export] private bool _canYaw;
[Export] private float _rotateSpeed = 0.003f;
[Export] private Node3D _subPivot;
public override void _Ready()
{
Input.MouseMode = Input.MouseModeEnum.Captured;
}
public override void _Input(InputEvent @event)
{
if(@event.IsActionPressed("click"))
{
if (Input.MouseMode == Input.MouseModeEnum.Visible)
{
Input.MouseMode = Input.MouseModeEnum.Captured;
}
}
if (@event.IsActionPressed("ui_cancel"))
{
Input.MouseMode = Input.MouseModeEnum.Visible;
}
if (@event is InputEventMouseMotion test)
{
if (Input.MouseMode != Input.MouseModeEnum.Captured)
return;
if (_canYaw)
_subPivot.RotateX(test.Relative.Y * -_rotateSpeed);
if(_canPitch)
this.RotateY(test.Relative.X * -_rotateSpeed);
}
}
}

@ -1,133 +0,0 @@
using System.Diagnostics;
using Godot;
namespace Babushka.scripts.CSharp.Common.CharacterControls;
public partial class Player3D : CharacterBody3D
{
[Export] private float _speed = 1.0f;
[Export] private Camera3D _camera;
/// <summary>
/// The sprite arrays are all setup like this:
/// 0 - idle
/// 1 - walking
/// </summary>
[Export] private AnimatedSprite3D[] _frontSpritesAnimated;
[Export] private AnimatedSprite3D[] _sideSpritesAnimated;
[Export] private AnimatedSprite3D[] _backSpritesAnimated;
private bool _sideFlipped;
private Vector2 _lastDirection;
public override void _PhysicsProcess(double delta)
{
var inputDir = Input.GetVector("move_left", "move_right", "move_down", "move_up");
if (inputDir == Vector2.Zero)
{
if(_lastDirection != Vector2.Zero)
SwitchIdleSprites();
return;
}
MoveOnInput(inputDir, delta);
SwitchMovementSprites(inputDir);
}
private void MoveOnInput(Vector2 inputDir, double delta)
{
var direction = (Transform.Basis * new Vector3(inputDir.X, 0, inputDir.Y * (-1))).Normalized();
if (direction != Vector3.Zero)
Velocity = new Vector3(direction.X * _speed * (float) delta * Scale.X, Velocity.Y, direction.Z * _speed * (float) delta * Scale.Z);
else
Velocity = Velocity.MoveToward(new Vector3(0, 0, 0), _speed);
MoveAndSlide();
}
private void SwitchIdleSprites()
{
if (_lastDirection.X != 0)
{
ActivateSprite(0, false, true, false);
return;
}
if(_lastDirection.Y <= 0.0f)
ActivateSprite(0, true, false, false);
if(_lastDirection.Y > 0.0f)
ActivateSprite(0, false, false, true);
_lastDirection = Vector2.Zero;
}
private void SwitchMovementSprites(Vector2 inputDir)
{
float X = inputDir.X;
float Y = inputDir.Y;
_lastDirection = new Vector2(X, Y);
if (X != 0)
{
ActivateSprite(1, false, true, false);
if (X > 0.0f)
{
_sideFlipped = false;
}
if (X < 0.0f)
{
_sideFlipped = true;
}
foreach (var animatedSprite in _sideSpritesAnimated)
{
animatedSprite.FlipH = _sideFlipped;
}
return;
}
if (Y != 0)
{
if (Y > 0.0f)
{
ActivateSprite(1, false, false, true);
}
if (Y < 0.0f)
{
ActivateSprite(1, true, false, false);
}
}
}
private void ActivateSprite(int index, bool frontActive, bool sideActive, bool backActive)
{
DeactivateAll();
_frontSpritesAnimated[index].Visible = frontActive;
_sideSpritesAnimated[index].Visible = sideActive;
_backSpritesAnimated[index].Visible = backActive;
}
private void DeactivateAll()
{
foreach (var animatedSprite in _frontSpritesAnimated)
{
animatedSprite.Visible = false;
}
foreach (var animatedSprite in _sideSpritesAnimated)
{
animatedSprite.Visible = false;
}
foreach (var animatedSprite in _backSpritesAnimated)
{
animatedSprite.Visible = false;
}
}
}

@ -1,107 +0,0 @@
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using Godot;
using Godot.Collections;
namespace Babushka.scripts.CSharp.Common.Farming;
[GlobalClass]
public partial class FarmingControls : Node3D
{
[Export] private Sprite3D _hoeSprite;
[Export] private Sprite3D _wateringCanSprite;
[Export] private PackedScene _fieldPrefab;
[Export] private Node3D _movingPlayer;
[Export] private Camera3D _camera;
public FieldService FieldParent;
private bool _hoeInHand = false;
private bool _waterCanInHand = false;
#region Tools
public bool ActivateHoe(bool activate)
{
bool success = ActivateTool(activate, _hoeSprite);
_hoeInHand = success;
return success;
}
public bool ActivateWateringCan(bool activate)
{
bool success = ActivateTool(activate, _wateringCanSprite);
_waterCanInHand = success;
return success;
}
private bool ActivateTool(bool activate, Sprite3D tool)
{
tool.Visible = !activate;
return !activate;
}
#endregion
public override void _Input(InputEvent @event)
{
Vector2 mousePosition = GetViewport().GetMousePosition();
var dropPlane = new Plane(new Vector3(0, 0, 10), 10);
Vector3? position3D = dropPlane.IntersectsRay(_camera.ProjectRayOrigin(mousePosition),
_camera.ProjectRayNormal(mousePosition));
if (position3D.HasValue)
{
Vector2I adjustedPosition = new Vector2I(AdjustValue(position3D.Value.X), AdjustValue(position3D.Value.Y));
if (@event.IsActionPressed("click") && _hoeInHand)
{
MakeField(adjustedPosition);
}
if (@event.IsActionPressed("click") && _waterCanInHand)
{
WaterTheField(adjustedPosition);
}
}
}
private void WaterTheField(Vector2I fieldPosition)
{
FieldBehaviour field = FieldParent.Get(fieldPosition);
if (field == null)
return;
field.Water();
}
private void MakeField(Vector2I fieldPosition)
{
if(FieldParent == null || _fieldPrefab == null)
return;
// only instantiate a field if there isn't one already.
if(FieldParent.Get(fieldPosition) == null)
{
Node fieldInstance = _fieldPrefab.Instantiate();
if (fieldInstance is Node3D field3d)
{
// add dictionary entry for the field
Array<Node> fields = field3d.FindChildren("*", nameof(FieldBehaviour));
if (fields.Count > 0)
FieldParent.TryAddEntry(fieldPosition, fields[0] as FieldBehaviour);
// reposition and reparent the instance
field3d.Position = new Vector3(fieldPosition.X, 0.1f, fieldPosition.Y * -1);;
FieldParent.AddChild(fieldInstance);
}
}
}
private int AdjustValue(float value)
{
return (int) Mathf.Floor(value);
}
}

@ -1,59 +0,0 @@
using System.Diagnostics;
using Godot;
namespace Babushka.scripts.CSharp.Common.Farming
{
public enum FieldState
{
Empty = 0,
Tilled = 1,
Planted = 2,
Watered = 3,
NotFound = 99
}
[GlobalClass]
public partial class FieldBehaviour : Sprite3D
{
[Export] private Texture2D Tilled;
[Export] private Texture2D Watered;
[Export] public FieldState FieldState = FieldState.Empty;
public Vector2 FieldPosition;
public override void _Ready()
{
Texture = Tilled;
base._Ready();
}
public void Water()
{
FieldState = FieldState.Watered;
Texture = Watered;
}
/// <summary>
/// Called when the player enters the field'S interaction area and presses <E>.
/// </summary>
public void Farm()
{
switch (FieldState)
{
case FieldState.Empty:
Texture = Tilled;
FieldState = FieldState.Tilled;
break;
case FieldState.Tilled:
FieldState = FieldState.Planted;
break;
case FieldState.Planted:
break;
default:
break;
}
}
}
}

@ -2,6 +2,15 @@ using Godot;
namespace Babushka.scripts.CSharp.Common.Farming; namespace Babushka.scripts.CSharp.Common.Farming;
public enum FieldState
{
Empty = 0,
Tilled = 1,
Planted = 2,
Watered = 3,
NotFound = 99
}
[GlobalClass] [GlobalClass]
public partial class FieldBehaviour2D : Sprite2D public partial class FieldBehaviour2D : Sprite2D
{ {

@ -1,56 +0,0 @@
using System.Diagnostics;
using Godot;
using Godot.Collections;
namespace Babushka.scripts.CSharp.Common.Farming;
[GlobalClass]
public partial class FieldService : Node3D
{
[Export] private Dictionary<Vector2I, FieldBehaviour> fields = new Dictionary<Vector2I, FieldBehaviour>();
//Create
public bool TryAddEntry(Vector2I key, FieldBehaviour field)
{
if (!fields.ContainsKey(key))
{
fields.Add(key, field);
return true;
}
return false;
}
// Read
public FieldBehaviour Get(Vector2I key)
{
if (fields.TryGetValue(key, out FieldBehaviour field))
return field;
return field;
return null;
}
//Update
public void UpdateEntry(Vector2I fieldPosition, FieldBehaviour state)
{
if (fields.ContainsKey(fieldPosition))
{
fields[fieldPosition] = state;
}
else
{
TryAddEntry(fieldPosition, state);
}
}
//Delete
public void RemoveEntry(Vector2I fieldPosition)
{
if (fields.ContainsKey(fieldPosition))
{
fields.Remove(fieldPosition);
}
}
}

@ -1,68 +0,0 @@
using System;
using Godot;
namespace Babushka.scripts.CSharp.Common.Farming;
public enum PlantState
{
None = 0,
Planted = 1,
SmallPlant = 2,
BigPlant = 3,
Ready = 4
}
public partial class PlantBehaviour : Node3D
{
[Export] private Sprite3D[] _seeds;
[Export] private Sprite3D[] _smallPlants;
[Export] private Sprite3D[] _bigPlants;
[Export] private Sprite3D[] _readyPlants;
[Export] private PlantState _state = PlantState.None;
private Sprite3D _currentPlantSprite = null;
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 Sprite3D GetRandomSprite(Sprite3D[] sprites)
{
Random rand = new Random();
return sprites[rand.Next(sprites.Length)];
}
}

@ -5,6 +5,15 @@ using Godot;
namespace Babushka.scripts.CSharp.Common.Farming; namespace Babushka.scripts.CSharp.Common.Farming;
public enum PlantState
{
None = 0,
Planted = 1,
SmallPlant = 2,
BigPlant = 3,
Ready = 4
}
/// <summary> /// <summary>
/// Determines the behaviour of a plant in Babushka. /// Determines the behaviour of a plant in Babushka.
/// </summary> /// </summary>

@ -1,47 +0,0 @@
using Godot;
namespace Babushka.scripts.CSharp.Common.Inventory;
public partial class ItemOnGround : Node3D
{
private ItemInstance _itemInstance;
[Export]
private bool _infiniteSupply = false;
private Label3D _itemLabel => GetNode<Label3D>("ItemLabel");
private Label3D _pickupErrorLabel => GetNode<Label3D>("PickupErrorLabel");
public ItemInstance itemInstance
{
get => _itemInstance;
set
{
_itemInstance = value;
UpdateVisuals();
}
}
public void TryPickUp()
{
var result = InventoryManager.Instance.CollectItem(itemInstance.Clone());
if (result == InventoryActionResult.Success)
{
if (!_infiniteSupply)
{
QueueFree();
}
}
else
{
_pickupErrorLabel.Text = "Inventory Full";
var tween = GetTree().CreateTween();
tween.TweenInterval(2);
tween.TweenCallback(Callable.From(() => _pickupErrorLabel.Text = ""));
}
}
public void UpdateVisuals()
{
_itemLabel.Text = itemInstance.blueprint?.name ?? "Error Item";
}
}

@ -1,36 +0,0 @@
using Godot;
namespace Babushka.scripts.CSharp.Common;
/// <summary>
/// Switches between two Sprite Options.
/// </summary>
public partial class SpriteSwitcher : Node3D
{
[Export] private Sprite3D _trueSprite;
[Export] private Sprite3D _falseSprite;
[Export] private bool _state = true;
[Signal]
public delegate void SwitchEventHandler(bool state);
public override void _Ready()
{
SetState();
}
public void SwitchState()
{
_state = !_state;
EmitSignal(SignalName.Switch, _state);
SetState();
}
private void SetState()
{
if(_trueSprite != null)
_trueSprite.Visible = _state;
if(_falseSprite != null)
_falseSprite.Visible = !_state;
}
}

@ -1,30 +0,0 @@
using Babushka.scripts.CSharp.Common.CharacterControls;
using Godot;
namespace Babushka.scripts;
public partial class spiritAnimation : AnimationPlayer
{
[Export] private Player2D _player;
[Export] private Node2D _offerings;
public override void _UnhandledInput(InputEvent @event)
{
if (@event is InputEventKey eventKey)
{
if (eventKey.Pressed && eventKey.Keycode == Key.Alt)
{
_player.PlayPickUpAnimation();
_offerings.Visible = true;
}
if (eventKey.Pressed && eventKey.Keycode == Key.Space)
{
Active = true;
Play("hand_stretch");
}
}
}
}

@ -1 +0,0 @@
uid://cqkqijsjvbasl
Loading…
Cancel
Save