Adds a UI for gas mixers (#5165)

Co-authored-by: E F R <602406+Efruit@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: ike709 <ike709@github.com>
This commit is contained in:
ike709
2021-11-11 16:10:21 -06:00
committed by GitHub
parent c6615fd805
commit c06f52a456
12 changed files with 401 additions and 6 deletions

View File

@@ -0,0 +1,63 @@
using System;
using Robust.Shared.GameObjects;
using Robust.Shared.Serialization;
namespace Content.Shared.Atmos.Piping.Trinary.Components
{
[Serializable, NetSerializable]
public enum GasMixerUiKey
{
Key,
}
[Serializable, NetSerializable]
public class GasMixerBoundUserInterfaceState : BoundUserInterfaceState
{
public string MixerLabel { get; }
public float OutputPressure { get; }
public bool Enabled { get; }
public float NodeOne { get; }
public GasMixerBoundUserInterfaceState(string mixerLabel, float outputPressure, bool enabled, float nodeOne)
{
MixerLabel = mixerLabel;
OutputPressure = outputPressure;
Enabled = enabled;
NodeOne = nodeOne;
}
}
[Serializable, NetSerializable]
public class GasMixerToggleStatusMessage : BoundUserInterfaceMessage
{
public bool Enabled { get; }
public GasMixerToggleStatusMessage(bool enabled)
{
Enabled = enabled;
}
}
[Serializable, NetSerializable]
public class GasMixerChangeOutputPressureMessage : BoundUserInterfaceMessage
{
public float Pressure { get; }
public GasMixerChangeOutputPressureMessage(float pressure)
{
Pressure = pressure;
}
}
[Serializable, NetSerializable]
public class GasMixerChangeNodePercentageMessage : BoundUserInterfaceMessage
{
public float NodeOne { get; }
public GasMixerChangeNodePercentageMessage(float nodeOne)
{
NodeOne = nodeOne;
}
}
}