using Content.Shared.MachineLinking; using Robust.Shared.Audio; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Server.MachineLinking.Components { /// /// Simple switch that will fire ports when toggled on or off. A button is jsut a switch that signals on the /// same port regardless of its state. /// [RegisterComponent] public sealed class SignalSwitchComponent : Component { /// /// The port that gets signaled when the switch turns on. /// [DataField("onPort", customTypeSerializer: typeof(PrototypeIdSerializer))] public string OnPort = "On"; /// /// The port that gets signaled when the switch turns off. /// [DataField("offPort", customTypeSerializer: typeof(PrototypeIdSerializer))] public string OffPort = "Off"; [DataField("state")] public bool State; [DataField("clickSound")] public SoundSpecifier ClickSound { get; set; } = new SoundPathSpecifier("/Audio/Machines/lightswitch.ogg"); } }