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); }