| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- using Content.Shared.Atmos.Monitor.Components;
- using Robust.Shared.Serialization;
- namespace Content.Shared.Atmos.Piping.Unary.Components
- {
- [Serializable, NetSerializable]
- public sealed class GasVentPumpData : IAtmosDeviceData
- {
- public bool Enabled { get; set; }
- public bool Dirty { get; set; }
- public bool IgnoreAlarms { get; set; } = false;
- public VentPumpDirection PumpDirection { get; set; } = VentPumpDirection.Releasing;
- public VentPressureBound PressureChecks { get; set; } = VentPressureBound.ExternalBound;
- public float ExternalPressureBound { get; set; } = Atmospherics.OneAtmosphere;
- public float InternalPressureBound { get; set; } = 0f;
- public bool PressureLockoutOverride { get; set; } = false;
- // Presets for 'dumb' air alarm modes
- public static GasVentPumpData FilterModePreset = new GasVentPumpData
- {
- Enabled = true,
- PumpDirection = VentPumpDirection.Releasing,
- PressureChecks = VentPressureBound.ExternalBound,
- ExternalPressureBound = Atmospherics.OneAtmosphere,
- InternalPressureBound = 0f,
- PressureLockoutOverride = false
- };
- public static GasVentPumpData FillModePreset = new GasVentPumpData
- {
- Enabled = true,
- Dirty = true,
- PumpDirection = VentPumpDirection.Releasing,
- PressureChecks = VentPressureBound.ExternalBound,
- ExternalPressureBound = Atmospherics.OneAtmosphere * 50,
- InternalPressureBound = 0f,
- PressureLockoutOverride = true
- };
- public static GasVentPumpData PanicModePreset = new GasVentPumpData
- {
- Enabled = false,
- Dirty = true,
- PumpDirection = VentPumpDirection.Releasing,
- PressureChecks = VentPressureBound.ExternalBound,
- ExternalPressureBound = Atmospherics.OneAtmosphere,
- InternalPressureBound = 0f,
- PressureLockoutOverride = false
- };
- public static GasVentPumpData ReplaceModePreset = new GasVentPumpData
- {
- Enabled = false,
- IgnoreAlarms = true,
- Dirty = true,
- PumpDirection = VentPumpDirection.Releasing,
- PressureChecks = VentPressureBound.ExternalBound,
- ExternalPressureBound = Atmospherics.OneAtmosphere,
- InternalPressureBound = 0f,
- PressureLockoutOverride = false
- };
- }
- [Serializable, NetSerializable]
- public enum VentPumpDirection : sbyte
- {
- Siphoning = 0,
- Releasing = 1,
- }
- [Flags]
- [Serializable, NetSerializable]
- public enum VentPressureBound : sbyte
- {
- NoBound = 0,
- InternalBound = 1,
- ExternalBound = 2,
- Both = 3,
- }
- }
|