private void InteractionActivate(IEntity user, IEntity used) { var activateMsg = new ActivateInWorldMessage(user, used); RaiseLocalEvent(activateMsg); if (activateMsg.Handled) { return; } if (!used.TryGetComponent(out IActivate activateComp)) { return; } // all activates should only fire when in range / unbostructed var activateEventArgs = new ActivateEventArgs { User = user, Target = used }; if (InteractionChecks.InRangeUnobstructed(activateEventArgs)) { activateComp.Activate(activateEventArgs); } }
private void InteractionActivate(IEntity user, IEntity used) { var activateMsg = new ActivateInWorldMessage(user, used); RaiseLocalEvent(used.Uid, activateMsg); if (activateMsg.Handled) { return; } if (!used.TryGetComponent(out IActivate? activateComp)) { return; } // all activates should only fire when in range / unbostructed var activateEventArgs = new ActivateEventArgs(user, used); if (activateEventArgs.InRangeUnobstructed(ignoreInsideBlocker: true, popup: true)) { activateComp.Activate(activateEventArgs); } }