private static void HandleBeforeInteract(
     EntityUid uid,
     HandVirtualPullComponent component,
     BeforeInteractEvent args)
 {
     // No interactions with a virtual pull, please.
     args.Handled = true;
 }
        private void MaybeDelete(HandVirtualPullComponent comp, IEntity?user)
        {
            var pulled = comp.PulledEntity;

            if (!ComponentManager.TryGetComponent(pulled, out PullableComponent? pullable))
            {
                return;
            }

            if (pullable.Puller != user)
            {
                return;
            }

            pullable.TryStopPull(user);
            comp.Owner.QueueDelete();
        }
 private void HandlePullerDropped(EntityUid uid, HandVirtualPullComponent component, DroppedEvent args)
 {
     MaybeDelete(component, args.User);
 }