using Content.Shared.Atmos; namespace Content.Server.Atmos.Piping.Unary.Components { [RegisterComponent] public sealed class GasCanisterComponent : Component { [ViewVariables(VVAccess.ReadWrite)] [DataField("port")] public string PortName { get; set; } = "port"; /// /// Container name for the gas tank holder. /// [ViewVariables(VVAccess.ReadWrite)] [DataField("container")] public string ContainerName { get; set; } = "GasCanisterTankHolder"; [ViewVariables(VVAccess.ReadWrite)] [DataField("gasMixture")] public GasMixture Air { get; } = new(); /// /// Last recorded pressure, for appearance-updating purposes. /// public float LastPressure { get; set; } = 0f; /// /// Minimum release pressure possible for the release valve. /// [ViewVariables(VVAccess.ReadWrite)] [DataField("minReleasePressure")] public float MinReleasePressure { get; set; } = Atmospherics.OneAtmosphere / 10; /// /// Maximum release pressure possible for the release valve. /// [ViewVariables(VVAccess.ReadWrite)] [DataField("maxReleasePressure")] public float MaxReleasePressure { get; set; } = Atmospherics.OneAtmosphere * 10; /// /// Valve release pressure. /// [ViewVariables(VVAccess.ReadWrite)] [DataField("releasePressure")] public float ReleasePressure { get; set; } = Atmospherics.OneAtmosphere; /// /// Whether the release valve is open on the canister. /// [ViewVariables(VVAccess.ReadWrite)] [DataField("releaseValve")] public bool ReleaseValve { get; set; } = false; } }