using Godot; namespace Babushka.scripts.CSharp.Common; public partial class InteractionArea : Node3D { [Export] private Area3D _area; [Export] private Label3D _label; [Signal] public delegate void InteractedEventHandler(); public override void _Process(double d) { if (_area.HasOverlappingBodies()) _label.Show(); else _label.Hide(); } public override void _Input(InputEvent @event) { if(@event.IsAction("interact") && @event.IsPressed() && _area.HasOverlappingBodies()) EmitSignal(SignalName.Interacted); } }