private void OnToggleAction(EntityUid uid, BlockingComponent component, ToggleActionEvent args) { if (args.Handled) { return; } foreach (var shield in _handsSystem.EnumerateHeld(args.Performer)) { if (shield == uid) { continue; } if (TryComp <BlockingComponent>(shield, out var otherBlockComp) && otherBlockComp.IsBlocking) { CantBlockError(args.Performer); return; } } if (component.IsBlocking) { StopBlocking(uid, component, args.Performer); } else { StartBlocking(uid, component, args.Performer); } args.Handled = true; }
private void OnToggleAction(EntityUid uid, MagbootsComponent component, ToggleActionEvent args) { if (args.Handled) { return; } args.Handled = true; component.On = !component.On; if (_sharedContainer.TryGetContainingContainer(uid, out var container) && _inventory.TryGetSlotEntity(container.Owner, "shoes", out var entityUid) && entityUid == component.Owner) { UpdateMagbootEffects(container.Owner, uid, true, component); } if (TryComp <ItemComponent>(uid, out var item)) { _item.SetHeldPrefix(uid, component.On ? "on" : null, item); _clothing.SetEquippedPrefix(uid, component.On ? "on" : null); } if (TryComp(uid, out AppearanceComponent? appearance)) { appearance.SetData(ToggleVisuals.Toggled, component.On); } OnChanged(component); Dirty(component); }
private void OnActionToggle(EntityUid uid, GasTankComponent component, ToggleActionEvent args) { if (args.Handled) { return; } ToggleInternals(component); args.Handled = true; }
private void OnToggleAction(EntityUid uid, SharedMagbootsComponent component, ToggleActionEvent args) { if (args.Handled) { return; } component.On = !component.On; args.Handled = true; }
/// <summary> /// For vehicles with horn sirens (like the secway) this uses different logic that makes the siren /// loop instead of using a normal honk. /// </summary> private void OnSirenToggle(EntityUid uid, VehicleComponent vehicle, ToggleActionEvent args) { if (args.Handled || !vehicle.HornIsLooping) { return; } if (!vehicle.LoopingHornIsPlaying) { vehicle.SirenPlayingStream?.Stop(); vehicle.LoopingHornIsPlaying = true; if (vehicle.HornSound != null) { vehicle.SirenPlayingStream = SoundSystem.Play(vehicle.HornSound.GetSound(), Filter.Pvs(uid), uid, AudioParams.Default.WithLoop(true).WithVolume(1.8f)); } return; } vehicle.SirenPlayingStream?.Stop(); vehicle.LoopingHornIsPlaying = false; }
private void OnToggleAction(EntityUid uid, UnpoweredFlashlightComponent component, ToggleActionEvent args) { if (args.Handled) { return; } ToggleLight(component); args.Handled = true; }