diff --git a/prefabs/interactions/generic_item_on_ground_2d.tscn b/prefabs/interactions/generic_item_on_ground_2d.tscn new file mode 100644 index 0000000..2571a3b --- /dev/null +++ b/prefabs/interactions/generic_item_on_ground_2d.tscn @@ -0,0 +1,67 @@ +[gd_scene load_steps=9 format=3 uid="uid://dpbbroif2tnil"] + +[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="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/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"] + +[sub_resource type="Theme" id="Theme_tlhp6"] +default_font_size = 80 + +[sub_resource type="Theme" id="Theme_harr4"] +default_font_size = 40 + +[sub_resource type="CircleShape2D" id="CircleShape2D_tlhp6"] +resource_local_to_scene = true +radius = 300.0 + +[sub_resource type="Theme" id="Theme_xu8me"] +default_font_size = 75 + +[node name="GenericItemOnGround" type="Node2D"] +script = ExtResource("1_tlhp6") + +[node name="SpawnWithItem" type="Node" parent="."] +script = ExtResource("3_xu8me") + +[node name="ItemLabel" type="Label" parent="."] +offset_left = -264.0 +offset_top = -396.0 +offset_right = 269.0 +offset_bottom = -197.0 +theme = SubResource("Theme_tlhp6") +text = "test" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="PickupErrorLabel" type="Label" parent="."] +offset_left = -237.0 +offset_top = -330.0 +offset_right = 236.0 +offset_bottom = -232.0 +theme = SubResource("Theme_harr4") +text = "thewe waf a pwoblem wiph picking up te item UWU" +autowrap_mode = 3 + +[node name="InteractionArea2" parent="." instance=ExtResource("4_xu8me")] + +[node name="CollisionShape3D" parent="InteractionArea2/Area2D" index="0"] +shape = SubResource("CircleShape2D_tlhp6") + +[node name="Label" parent="InteractionArea2" index="1"] +offset_left = -142.0 +offset_top = -278.0 +offset_right = 1.0 +offset_bottom = -170.0 +theme = SubResource("Theme_xu8me") +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="Icon" type="Sprite2D" parent="."] +position = Vector2(5, -300) +scale = Vector2(0.868852, 0.868852) +texture = ExtResource("5_harr4") + +[connection signal="Interacted" from="InteractionArea2" to="." method="TryPickUp"] + +[editable path="InteractionArea2"] diff --git a/scenes/Babushka_scene_farm_outside_2d.tscn b/scenes/Babushka_scene_farm_outside_2d.tscn index 878c7d2..2db383b 100644 --- a/scenes/Babushka_scene_farm_outside_2d.tscn +++ b/scenes/Babushka_scene_farm_outside_2d.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=52 format=3 uid="uid://gigb28qk8t12"] +[gd_scene load_steps=58 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"] @@ -25,8 +25,12 @@ [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="Script" uid="uid://dhxtdhfqx3bte" path="res://scripts/CSharp/Common/Farming/FieldService2D.cs" id="25_0qu0h"] +[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://cndd64batns31" path="res://resources/items/bucket.tres" id="26_2nee2"] +[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/axe.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://ce0mc0ddijmyi" path="res://prefabs/interactions/sprite_switcher_2d.tscn" id="28_p6n74"] +[ext_resource type="PackedScene" path="res://prefabs/interactions/sprite_switcher_2d.tscn" id="28_p6n74"] [ext_resource type="Texture2D" uid="uid://x8hr8287ff2n" path="res://art/farm/farming/farmobjekte/tools atlas.png" id="29_p6n74"] [ext_resource type="PackedScene" uid="uid://cgjc4wurbgimy" path="res://prefabs/UI/Inventory/Inventory.tscn" id="32_2nee2"] @@ -100,6 +104,14 @@ size = Vector2(728, 368) resource_local_to_scene = true radius = 600.0 +[sub_resource type="CircleShape2D" id="CircleShape2D_2nee2"] +resource_local_to_scene = true +radius = 300.0 + +[sub_resource type="CircleShape2D" id="CircleShape2D_ipqaa"] +resource_local_to_scene = true +radius = 300.0 + [sub_resource type="ShaderMaterial" id="ShaderMaterial_lhtpe"] shader = ExtResource("13_7p0hq") shader_parameter/hue_shift = 0.0 @@ -693,6 +705,33 @@ _id = 1 position = Vector2(80, -368) shape = SubResource("CircleShape2D_p6n74") +[node name="HoeGenericPickup" parent="YSorted" instance=ExtResource("25_hukxv")] +position = Vector2(4482, 1978) + +[node name="SpawnWithItem" parent="YSorted/HoeGenericPickup" index="0"] +_blueprint = ExtResource("26_ipqaa") + +[node name="CollisionShape3D" parent="YSorted/HoeGenericPickup/InteractionArea2/Area2D" index="0"] +shape = SubResource("CircleShape2D_2nee2") + +[node name="GenericPickupWithoutIcon" parent="YSorted" instance=ExtResource("25_hukxv")] +position = Vector2(3657, 1978) + +[node name="SpawnWithItem" parent="YSorted/GenericPickupWithoutIcon" index="0"] +_blueprint = ExtResource("27_ipqaa") + +[node name="CollisionShape3D" parent="YSorted/GenericPickupWithoutIcon/InteractionArea2/Area2D" index="0"] +shape = SubResource("CircleShape2D_2nee2") + +[node name="CanGenericPickup" parent="YSorted" instance=ExtResource("25_hukxv")] +position = Vector2(2795, 2001) + +[node name="SpawnWithItem" parent="YSorted/CanGenericPickup" index="0"] +_blueprint = ExtResource("26_2nee2") + +[node name="CollisionShape3D" parent="YSorted/CanGenericPickup/InteractionArea2/Area2D" index="0"] +shape = SubResource("CircleShape2D_ipqaa") + [node name="Farm visuals" type="Node2D" parent="YSorted"] position = Vector2(-60, 122) @@ -797,6 +836,12 @@ _inventoryOpenedOffset = -600.0 [editable path="YSorted/Player2d"] [editable path="YSorted/BrĂ¼nnen/InteractionArea"] +[editable path="YSorted/HoeGenericPickup"] +[editable path="YSorted/HoeGenericPickup/InteractionArea2"] +[editable path="YSorted/GenericPickupWithoutIcon"] +[editable path="YSorted/GenericPickupWithoutIcon/InteractionArea2"] +[editable path="YSorted/CanGenericPickup"] +[editable path="YSorted/CanGenericPickup/InteractionArea2"] [editable path="Hoe Pickup"] [editable path="Watercan Pickup"] [editable path="Watercan Pickup/ActiveInactive"] diff --git a/scripts/CSharp/Common/CharacterControls/InteractionArea2D.cs b/scripts/CSharp/Common/CharacterControls/InteractionArea2D.cs index cdeacd2..93920b0 100644 --- a/scripts/CSharp/Common/CharacterControls/InteractionArea2D.cs +++ b/scripts/CSharp/Common/CharacterControls/InteractionArea2D.cs @@ -6,11 +6,11 @@ public partial class InteractionArea2D : Node2D { [Export] private Area2D _area; [Export] private Label _label; - [Export] private SpriteSwitcher2D _sprites; + [Export] private SpriteSwitcher2D _sprites; // TODO: remove [Export] private bool _showLabel = true; - [Export] private int _id; + [Export] private int _id; // TODO: remove - [Signal] public delegate void InteractedToolEventHandler(int id); + [Signal] public delegate void InteractedToolEventHandler(int id); // TODO: remove [Signal] public delegate void InteractedEventHandler(); public void OnPlayerEntered(Node2D player) @@ -34,7 +34,7 @@ public partial class InteractionArea2D : Node2D } } - public void SetSpriteActiveState(bool success, int id) + public void SetSpriteActiveState(bool success, int id) // TODO: remove { if (_id == id) { diff --git a/scripts/CSharp/Common/Inventory/ItemOnGround2D.cs b/scripts/CSharp/Common/Inventory/ItemOnGround2D.cs index d69faeb..e9dfa0f 100644 --- a/scripts/CSharp/Common/Inventory/ItemOnGround2D.cs +++ b/scripts/CSharp/Common/Inventory/ItemOnGround2D.cs @@ -11,6 +11,7 @@ public partial class ItemOnGround2D : Node private Label _itemLabel => GetNode