Files
tbd-station-14/Content.Shared/Cloning/SharedCloningConsole.cs
Rane 2f4849eae1 Cloning Rework (#8972)
Co-authored-by: fishfish458 <fishfish458>
2022-08-03 21:05:17 -07:00

65 lines
1.9 KiB
C#

using Robust.Shared.Serialization;
namespace Content.Shared.Cloning.CloningConsole
{
[Serializable, NetSerializable]
public sealed class CloningConsoleBoundUserInterfaceState : BoundUserInterfaceState
{
public readonly string? ScannerBodyInfo;
public readonly string? ClonerBodyInfo;
public readonly bool MindPresent;
public readonly ClonerStatus CloningStatus;
public readonly bool ScannerConnected;
public readonly bool ScannerInRange;
public readonly bool ClonerConnected;
public readonly bool ClonerInRange;
public CloningConsoleBoundUserInterfaceState(string? scannerBodyInfo, string? cloningBodyInfo, bool mindPresent, ClonerStatus cloningStatus, bool scannerConnected, bool scannerInRange, bool clonerConnected, bool clonerInRange)
{
ScannerBodyInfo = scannerBodyInfo;
ClonerBodyInfo = cloningBodyInfo;
MindPresent = mindPresent;
CloningStatus = cloningStatus;
ScannerConnected = scannerConnected;
ScannerInRange = scannerInRange;
ClonerConnected = clonerConnected;
ClonerInRange = clonerInRange;
}
}
[Serializable, NetSerializable]
public enum ClonerStatus : byte
{
Ready,
ScannerEmpty,
ScannerOccupantAlive,
OccupantMetaphyiscal,
ClonerOccupied,
NoClonerDetected,
NoMindDetected
}
[Serializable, NetSerializable]
public enum CloningConsoleUiKey : byte
{
Key
}
[Serializable, NetSerializable]
public enum UiButton : byte
{
Clone,
Eject
}
[Serializable, NetSerializable]
public sealed class UiButtonPressedMessage : BoundUserInterfaceMessage
{
public readonly UiButton Button;
public UiButtonPressedMessage(UiButton button)
{
Button = button;
}
}
}