Files
tbd-station-14/Content.Shared/Atmos/Piping/Unary/Components/SharedVentPumpComponent.cs
Flipp Syder 565bfa86a4 Air alarm fixes (again, oops) (#7715)
* fixes critical issue

* alright, this might be the actual fix

* removes useless null checks

* couple more

* removes default functions from unary device data
2022-04-22 23:21:00 -07:00

67 lines
2.2 KiB
C#

using System;
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;
// 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
};
public static GasVentPumpData FillModePreset = new GasVentPumpData
{
Enabled = true,
Dirty = true,
PumpDirection = VentPumpDirection.Releasing,
PressureChecks = VentPressureBound.ExternalBound,
ExternalPressureBound = Atmospherics.OneAtmosphere * 50,
InternalPressureBound = 0f
};
public static GasVentPumpData PanicModePreset = new GasVentPumpData
{
Enabled = false,
Dirty = true,
PumpDirection = VentPumpDirection.Releasing,
PressureChecks = VentPressureBound.ExternalBound,
ExternalPressureBound = Atmospherics.OneAtmosphere,
InternalPressureBound = 0f
};
}
[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,
}
}