private void OnRelayMovement(EntityUid uid, ResistLockerComponent component, RelayMovementEntityEvent args) { if (component.IsResisting) { return; } if (!TryComp(uid, out EntityStorageComponent? storageComponent)) { return; } if (TryComp <LockComponent>(uid, out var lockComponent) && lockComponent.Locked || storageComponent.IsWeldedShut) { AttemptResist(args.Entity, uid, storageComponent, component); } }
private void OnDoAfterComplete(EntityUid uid, ResistLockerComponent component, ResistDoAfterComplete ev) { component.IsResisting = false; if (TryComp <EntityStorageComponent>(uid, out var storageComponent)) { if (storageComponent.IsWeldedShut) { storageComponent.IsWeldedShut = false; } if (TryComp <LockComponent>(ev.Target, out var lockComponent)) { _lockSystem.Unlock(uid, ev.User, lockComponent); } component.CancelToken = null; storageComponent.TryOpenStorage(ev.User); } }
private void OnRemovedFromContainer(EntityUid uid, ResistLockerComponent component, EntRemovedFromContainerMessage message) { component.CancelToken?.Cancel(); }
private void OnDoAfterCancelled(EntityUid uid, ResistLockerComponent component, ResistDoAfterCancelled ev) { component.IsResisting = false; component.CancelToken = null; _popupSystem.PopupEntity(Loc.GetString("resist-locker-component-resist-interrupted"), ev.User, Filter.Entities(ev.User)); }