private void OnSignalReceived(EntityUid uid, ConveyorComponent component, SignalReceivedEvent args) { switch (args.Port) { case "state": SetState(component, (TwoWayLeverSignal)args.Value !); break; } }
private void OnSignalReceived(EntityUid uid, ConveyorComponent component, SignalReceivedEvent args) { if (args.Port == component.OffPort) { SetState(component, ConveyorState.Off); } else if (args.Port == component.ForwardPort) { SetState(component, ConveyorState.Forward); } else if (args.Port == component.ReversePort) { SetState(component, ConveyorState.Reverse); } }
private void OnSignalReceived(EntityUid uid, GasVentPumpComponent component, SignalReceivedEvent args) { if (!component.CanLink) { return; } if (args.Port == component.PressurizePort) { component.PumpDirection = VentPumpDirection.Releasing; component.ExternalPressureBound = component.PressurizePressure; component.PressureChecks = VentPressureBound.ExternalBound; UpdateState(uid, component); } else if (args.Port == component.DepressurizePort) { component.PumpDirection = VentPumpDirection.Siphoning; component.ExternalPressureBound = component.DepressurizePressure; component.PressureChecks = VentPressureBound.ExternalBound; UpdateState(uid, component); } }
private void OnSignalReceived(EntityUid uid, PoweredLightComponent component, SignalReceivedEvent args) { if (args.Port == component.OffPort) { SetState(uid, false, component); } else if (args.Port == component.OnPort) { SetState(uid, true, component); } else if (args.Port == component.TogglePort) { ToggleLight(uid, component); } }
private void OnSignalReceived(EntityUid uid, PoweredLightComponent component, SignalReceivedEvent args) { switch (args.Port) { case "state": component.ToggleLight(); break; } }
// this is the major reason we split packets into Signal and Data - if they're Signal, we can avoid creating any garbage at all here public static void Subscribe <T> (SignalReceivedEvent <T> onReceive) where T : SignalPacket { callbacks[getHash <T>()] = (peer, reader) => onReceive(peer); }
private void OnSignalReceived(EntityUid uid, TriggerOnSignalReceivedComponent component, SignalReceivedEvent args) { _trigger.Trigger(uid); }
private void OnSignalReceived(EntityUid uid, TriggerOnSignalComponent component, SignalReceivedEvent args) { if (args.Port != component.Port) { return; } Trigger(uid); }
private void OnSignalReceived(EntityUid uid, DoorSignalControlComponent component, SignalReceivedEvent args) { if (!TryComp(uid, out DoorComponent? door)) { return; } if (args.Port == component.OpenPort) { if (door.State != DoorState.Open) { _doorSystem.TryOpen(uid, door); } } else if (args.Port == component.ClosePort) { if (door.State != DoorState.Closed) { _doorSystem.TryClose(uid, door); } } else if (args.Port == component.TogglePort) { _doorSystem.TryToggleDoor(uid, door); } }