ocker/scripts/world/PickupMarker.cs
2026-02-10 15:18:49 +01:00

23 lines
513 B
C#

using Godot;
public partial class PickupMarker : Area2D
{
public string PickupId { get; set; } = "";
public string ItemId { get; set; } = "";
public override void _Ready()
{
BodyEntered += OnBodyEntered;
}
private void OnBodyEntered(Node2D body)
{
if (body is not CharacterBody2D) return;
// Defer to avoid freeing during signal processing edge cases
EmitSignal(SignalName.PickedUp, PickupId, ItemId);
}
[Signal]
public delegate void PickedUpEventHandler(string pickupId, string itemId);
}