| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- using Robust.Shared.Serialization;
- namespace Content.Shared.Atmos.Monitor.Components;
- [Serializable, NetSerializable]
- public enum SharedAirAlarmInterfaceKey
- {
- Key
- }
- [Serializable, NetSerializable]
- public enum AirAlarmMode
- {
- None,
- Filtering,
- WideFiltering,
- Fill,
- Panic,
- }
- [Serializable, NetSerializable]
- public enum AirAlarmWireStatus
- {
- Power,
- Access,
- Panic,
- DeviceSync
- }
- public interface IAtmosDeviceData
- {
- public bool Enabled { get; set; }
- public bool Dirty { get; set; }
- public bool IgnoreAlarms { get; set; }
- }
- [Serializable, NetSerializable]
- public sealed class AirAlarmUIState : BoundUserInterfaceState
- {
- public AirAlarmUIState(string address, int deviceCount, float pressureAverage, float temperatureAverage, List<(string, IAtmosDeviceData)> deviceData, AirAlarmMode mode, AtmosAlarmType alarmType, bool autoMode)
- {
- Address = address;
- DeviceCount = deviceCount;
- PressureAverage = pressureAverage;
- TemperatureAverage = temperatureAverage;
- DeviceData = deviceData;
- Mode = mode;
- AlarmType = alarmType;
- AutoMode = autoMode;
- }
- public string Address { get; }
- public int DeviceCount { get; }
- public float PressureAverage { get; }
- public float TemperatureAverage { get; }
- /// <summary>
- /// Every single device data that can be seen from this
- /// air alarm. This includes vents, scrubbers, and sensors.
- /// Each entry is a tuple of device address and the device
- /// data. The same address may appear multiple times, if
- /// that device provides multiple functions.
- /// </summary>
- public List<(string, IAtmosDeviceData)> DeviceData { get; }
- public AirAlarmMode Mode { get; }
- public AtmosAlarmType AlarmType { get; }
- public bool AutoMode { get; }
- }
- [Serializable, NetSerializable]
- public sealed class AirAlarmResyncAllDevicesMessage : BoundUserInterfaceMessage
- {}
- [Serializable, NetSerializable]
- public sealed class AirAlarmUpdateAlarmModeMessage : BoundUserInterfaceMessage
- {
- public AirAlarmMode Mode { get; }
- public AirAlarmUpdateAlarmModeMessage(AirAlarmMode mode)
- {
- Mode = mode;
- }
- }
- [Serializable, NetSerializable]
- public sealed class AirAlarmUpdateAutoModeMessage : BoundUserInterfaceMessage
- {
- public bool Enabled { get; }
- public AirAlarmUpdateAutoModeMessage(bool enabled)
- {
- Enabled = enabled;
- }
- }
- [Serializable, NetSerializable]
- public sealed class AirAlarmUpdateDeviceDataMessage : BoundUserInterfaceMessage
- {
- public string Address { get; }
- public IAtmosDeviceData Data { get; }
- public AirAlarmUpdateDeviceDataMessage(string addr, IAtmosDeviceData data)
- {
- Address = addr;
- Data = data;
- }
- }
- [Serializable, NetSerializable]
- public sealed class AirAlarmCopyDeviceDataMessage : BoundUserInterfaceMessage
- {
- public IAtmosDeviceData Data { get; }
- public AirAlarmCopyDeviceDataMessage(IAtmosDeviceData data)
- {
- Data = data;
- }
- }
- [Serializable, NetSerializable]
- public sealed class AirAlarmUpdateAlarmThresholdMessage : BoundUserInterfaceMessage
- {
- public string Address { get; }
- public AtmosAlarmThreshold Threshold { get; }
- public AtmosMonitorThresholdType Type { get; }
- public Gas? Gas { get; }
- public AirAlarmUpdateAlarmThresholdMessage(string address, AtmosMonitorThresholdType type, AtmosAlarmThreshold threshold, Gas? gas = null)
- {
- Address = address;
- Threshold = threshold;
- Type = type;
- Gas = gas;
- }
- }
|