public void InteractHand(EntityUid user, EntityUid target) { // all interactions should only happen when in range / unobstructed, so no range check is needed var message = new InteractHandEvent(user, target); RaiseLocalEvent(target, message); _adminLogSystem.Add(LogType.InteractHand, LogImpact.Low, $"{ToPrettyString(user):user} interacted with {ToPrettyString(target):target}"); if (message.Handled) { return; } var interactHandEventArgs = new InteractHandEventArgs(user, target); var interactHandComps = AllComps <IInteractHand>(target).ToList(); foreach (var interactHandComp in interactHandComps) { // If an InteractHand returns a status completion we finish our interaction #pragma warning disable 618 if (interactHandComp.InteractHand(interactHandEventArgs)) #pragma warning restore 618 { return; } } // Else we run Activate. InteractionActivate(user, target, checkCanInteract: false, checkUseDelay: true, checkAccess: false); }
public void InteractHand(EntityUid user, EntityUid target) { // all interactions should only happen when in range / unobstructed, so no range check is needed var message = new InteractHandEvent(user, target); RaiseLocalEvent(target, message, true); _adminLogger.Add(LogType.InteractHand, LogImpact.Low, $"{ToPrettyString(user):user} interacted with {ToPrettyString(target):target}"); if (message.Handled) { return; } // Else we run Activate. InteractionActivate(user, target, checkCanInteract: false, checkUseDelay: true, checkAccess: false); }