Files
crystall-punk-14/Content.Shared/APC/SharedApc.cs

93 lines
2.2 KiB
C#
Raw Normal View History

using Robust.Shared.Serialization;
2021-06-09 22:19:39 +02:00
namespace Content.Shared.APC
{
[Serializable, NetSerializable]
public enum ApcVisuals
{
/// <summary>
/// APC lights/HUD.
/// </summary>
ChargeState,
/// <summary>
/// APC frame.
/// </summary>
PanelState
}
[Serializable, NetSerializable]
public enum ApcPanelState
{
/// <summary>
/// APC is closed.
/// </summary>
Closed,
/// <summary>
/// APC opened.
/// </summary>
Open
}
[Serializable, NetSerializable]
public enum ApcChargeState
{
/// <summary>
/// APC does not have enough power to charge cell (if necessary) and keep powering the area.
/// </summary>
Lack,
/// <summary>
/// APC is not full but has enough power.
/// </summary>
Charging,
/// <summary>
/// APC battery is full and has enough power.
/// </summary>
Full,
2022-02-17 21:43:24 -05:00
/// <summary>
/// APC is emagged (and not displaying other useful power colors at a glance)
/// </summary>
Emag,
}
2018-08-31 08:52:48 +02:00
[Serializable, NetSerializable]
public sealed class ApcBoundInterfaceState : BoundUserInterfaceState
{
public readonly bool MainBreaker;
public readonly bool HasAccess;
2023-02-21 07:23:38 -08:00
public readonly int Power;
2018-08-31 08:52:48 +02:00
public readonly ApcExternalPowerState ApcExternalPower;
public readonly float Charge;
public ApcBoundInterfaceState(bool mainBreaker, bool hasAccess, int power, ApcExternalPowerState apcExternalPower, float charge)
2018-08-31 08:52:48 +02:00
{
MainBreaker = mainBreaker;
HasAccess = hasAccess;
2023-02-21 07:23:38 -08:00
Power = power;
2018-08-31 08:52:48 +02:00
ApcExternalPower = apcExternalPower;
Charge = charge;
}
}
[Serializable, NetSerializable]
public sealed class ApcToggleMainBreakerMessage : BoundUserInterfaceMessage
{
2018-08-31 08:52:48 +02:00
}
public enum ApcExternalPowerState
{
None,
Low,
Good,
}
[NetSerializable, Serializable]
public enum ApcUiKey
{
Key,
}
}