using Robust.Shared.Serialization;
namespace Content.Shared.Gateway;
[Serializable, NetSerializable]
public enum GatewayVisuals : byte
{
Active
}
[Serializable, NetSerializable]
public enum GatewayVisualLayers : byte
{
Portal
}
[Serializable, NetSerializable]
public enum GatewayUiKey : byte
{
Key
}
[Serializable, NetSerializable]
public sealed class GatewayBoundUserInterfaceState : BoundUserInterfaceState
{
///
/// List of enabled destinations and information about them.
///
public readonly List<(NetEntity, string, TimeSpan, bool)> Destinations;
///
/// Which destination it is currently linked to, if any.
///
public readonly NetEntity? Current;
///
/// Time the portal will close at.
///
public readonly TimeSpan NextClose;
///
/// Time the portal last opened at.
///
public readonly TimeSpan LastOpen;
public GatewayBoundUserInterfaceState(List<(NetEntity, string, TimeSpan, bool)> destinations,
NetEntity? current, TimeSpan nextClose, TimeSpan lastOpen)
{
Destinations = destinations;
Current = current;
NextClose = nextClose;
LastOpen = lastOpen;
}
}
[Serializable, NetSerializable]
public sealed class GatewayOpenPortalMessage : BoundUserInterfaceMessage
{
public NetEntity Destination;
public GatewayOpenPortalMessage(NetEntity destination)
{
Destination = destination;
}
}