using Content.Shared.Doors.Systems; using Robust.Shared.Audio; using Robust.Shared.GameStates; namespace Content.Shared.Doors.Components; /// /// Companion component to DoorComponent that handles bolt-specific behavior. /// [RegisterComponent, NetworkedComponent] [Access(typeof(SharedDoorSystem))] [AutoGenerateComponentState] public sealed partial class DoorBoltComponent : Component { /// /// Sound to play when the bolts on the airlock go up. /// [DataField, ViewVariables(VVAccess.ReadWrite)] public SoundSpecifier BoltUpSound = new SoundPathSpecifier("/Audio/Machines/boltsup.ogg"); /// /// Sound to play when the bolts on the airlock go down. /// [DataField, ViewVariables(VVAccess.ReadWrite)] public SoundSpecifier BoltDownSound = new SoundPathSpecifier("/Audio/Machines/boltsdown.ogg"); /// /// Whether the door bolts are currently deployed. /// [DataField, AutoNetworkedField] public bool BoltsDown; /// /// Whether the bolt lights are currently enabled. /// [DataField, AutoNetworkedField] public bool BoltLightsEnabled = true; /// /// True if the bolt wire is cut, which will force the airlock to always be bolted as long as it has power. /// [DataField, AutoNetworkedField] public bool BoltWireCut; /// /// Used for prediction. true if the door has power. /// [DataField, AutoNetworkedField] public bool Powered; }