From 4734ae953c9a94278d2be89ab222bd3142d7b8d0 Mon Sep 17 00:00:00 2001 From: kziolkowski Date: Sun, 17 Aug 2025 23:13:39 +0200 Subject: [PATCH] Added option to play pickup animation for non-inventory items --- prefabs/Interactables/trash_object.tscn | 5 ++++- prefabs/characters/Player2D.tscn | 2 +- project.godot | 1 + scripts/CSharp/Common/Items/NonInventoryPickup.cs | 12 ++++++++++++ .../CSharp/Common/Items/NonInventoryPickup.cs.uid | 1 + 5 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 scripts/CSharp/Common/Items/NonInventoryPickup.cs create mode 100644 scripts/CSharp/Common/Items/NonInventoryPickup.cs.uid diff --git a/prefabs/Interactables/trash_object.tscn b/prefabs/Interactables/trash_object.tscn index 9cd511d..f921b02 100644 --- a/prefabs/Interactables/trash_object.tscn +++ b/prefabs/Interactables/trash_object.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=15 format=3 uid="uid://sbf12hin4kes"] +[gd_scene load_steps=16 format=3 uid="uid://sbf12hin4kes"] [ext_resource type="Texture2D" uid="uid://bylgmr0skwtrs" path="res://art/farm/farming/farmobjekte/broken tools atlas.png" id="1_k4ca3"] [ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="2_gcgfd"] +[ext_resource type="Script" uid="uid://dkk1vjijvgrd7" path="res://scripts/CSharp/Common/Items/NonInventoryPickup.cs" id="2_ic616"] [ext_resource type="AudioStream" uid="uid://be6g8b3v3u1ai" path="res://audio/sfx/Kitchen/SFX_Cooking_Knife_PickUp_01.wav" id="3_ktmp7"] [ext_resource type="AudioStream" uid="uid://cgjsajsdrrn0j" path="res://audio/sfx/Kitchen/SFX_Cooking_Knife_PutDown_01.wav" id="4_ic616"] [ext_resource type="AudioStream" uid="uid://br4drgupled6c" path="res://audio/sfx/Kitchen/SFX_Cooking_Pot_01.wav" id="5_dx175"] @@ -34,6 +35,7 @@ texture = ExtResource("1_k4ca3") offset = Vector2(1, -215) region_enabled = true region_rect = Rect2(44, 479, 356, 503) +script = ExtResource("2_ic616") [node name="InteractionArea" parent="." node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("2_gcgfd")] position = Vector2(0, -172) @@ -46,4 +48,5 @@ playback_type = 2 script = ExtResource("13_wswkg") [connection signal="Interacted" from="InteractionArea" to="." method="queue_free"] +[connection signal="Interacted" from="InteractionArea" to="." method="PlayPickupAnimation"] [connection signal="Interacted" from="InteractionArea" to="AudioStreamPlayer2D" method="PlayOneShot"] diff --git a/prefabs/characters/Player2D.tscn b/prefabs/characters/Player2D.tscn index ff9b003..5af9371 100644 --- a/prefabs/characters/Player2D.tscn +++ b/prefabs/characters/Player2D.tscn @@ -2091,7 +2091,7 @@ position = Vector2(-24, -13) shape = SubResource("CircleShape2D_ssqtd") debug_color = Color(0.923708, 0.202722, 0.475262, 0.42) -[node name="visuals" type="Node2D" parent="CharacterBody2D" node_paths=PackedStringArray("_sprite", "_wateringParticles") groups=["PlantGrowing"]] +[node name="visuals" type="Node2D" parent="CharacterBody2D" node_paths=PackedStringArray("_sprite", "_wateringParticles") groups=["Pickup", "PlantGrowing"]] position = Vector2(0, -374) script = ExtResource("3_f6xmn") _sprite = NodePath("Animated Sprites") diff --git a/project.godot b/project.godot index e89fd3e..b8de001 100644 --- a/project.godot +++ b/project.godot @@ -207,6 +207,7 @@ folder_colors={ [global_group] PlantGrowing="" +Pickup="" [input] diff --git a/scripts/CSharp/Common/Items/NonInventoryPickup.cs b/scripts/CSharp/Common/Items/NonInventoryPickup.cs new file mode 100644 index 0000000..a43eb30 --- /dev/null +++ b/scripts/CSharp/Common/Items/NonInventoryPickup.cs @@ -0,0 +1,12 @@ +using Babushka.scripts.CSharp.Common.Animation; +using Godot; + +namespace Babushka.scripts.CSharp.Common.Items; + +public partial class NonInventoryPickup : Node2D +{ + public void PlayPickupAnimation() + { + GetTree().CallGroup("Pickup", VesnaAnimations.MethodName.PlayPickUpAnimation); + } +} \ No newline at end of file diff --git a/scripts/CSharp/Common/Items/NonInventoryPickup.cs.uid b/scripts/CSharp/Common/Items/NonInventoryPickup.cs.uid new file mode 100644 index 0000000..699a9ee --- /dev/null +++ b/scripts/CSharp/Common/Items/NonInventoryPickup.cs.uid @@ -0,0 +1 @@ +uid://dkk1vjijvgrd7