args.Cancel();
}
- private void HandleStopPull(EntityUid uid, CuffableComponent component, AttemptStopPullingEvent args)
+ private void HandleStopPull(EntityUid uid, CuffableComponent component, ref AttemptStopPullingEvent args)
{
if (args.User == null || !Exists(args.User.Value))
return;
if (args.User.Value == uid && !component.CanStillInteract)
+ {
+ //TODO: UX feedback. Simply blocking the normal interaction feels like an interface bug
+
args.Cancelled = true;
+ }
+
}
private void OnRemoveCuffsAlert(Entity<CuffableComponent> ent, ref RemoveCuffsAlertEvent args)
/// <summary>
/// Raised when a request is made to stop pulling an entity.
/// </summary>
+
+[ByRefEvent]
public record struct AttemptStopPullingEvent(EntityUid? User = null)
{
public readonly EntityUid? User = User;
public bool Cancelled;
-}
\ No newline at end of file
+}
return true;
var msg = new AttemptStopPullingEvent(user);
- RaiseLocalEvent(pullableUid, msg, true);
+ RaiseLocalEvent(pullableUid, ref msg, true);
if (msg.Cancelled)
return false;