using System;
using System.Collections.Generic;
using System.Linq;
using Robust.Shared.GameObjects;
using Robust.Shared.Serialization;
namespace Content.Shared.MachineLinking
{
[Serializable, NetSerializable]
public sealed class SignalPortsState : BoundUserInterfaceState
{
public readonly string TransmitterName;
///
/// A List of all ports on the selected transmitter
///
public readonly List TransmitterPorts;
public readonly string ReceiverName;
///
/// A List of all ports on the selected receiver
///
public readonly List ReceiverPorts;
public readonly List<(int, int)> Links;
public SignalPortsState(string transmitterName, List transmitterPorts, string receiverName, List receiverPorts, List<(int, int)> links)
{
TransmitterName = transmitterName;
TransmitterPorts = transmitterPorts;
ReceiverName = receiverName;
ReceiverPorts = receiverPorts;
Links = links;
}
}
[Serializable, NetSerializable]
public sealed class SignalPortSelected : BoundUserInterfaceMessage
{
public readonly string TransmitterPort;
public readonly string ReceiverPort;
public SignalPortSelected(string transmitterPort, string receiverPort)
{
TransmitterPort = transmitterPort;
ReceiverPort = receiverPort;
}
}
[Serializable, NetSerializable]
public sealed class LinkerClearSelected : BoundUserInterfaceMessage { }
[Serializable, NetSerializable]
public sealed class LinkerLinkDefaultSelected : BoundUserInterfaceMessage { }
}