using Robust.Shared.Serialization;
namespace Content.Shared.DeviceLinking;
///
/// Types of logic gates that can be used, determines how the output port is set.
///
[Serializable, NetSerializable]
public enum LogicGate : byte
{
Or,
And,
Xor,
Nor,
Nand,
Xnor
}
///
/// Tells clients which logic gate layer to draw.
///
[Serializable, NetSerializable]
public enum LogicGateVisuals : byte
{
Gate,
InputA,
InputB,
Output
}
///
/// Sprite layer for the logic gate.
///
[Serializable, NetSerializable]
public enum LogicGateLayers : byte
{
Gate,
InputA,
InputB,
Output
}
///
/// The possible states of a logic-capable signal.
/// Stored in network payload data of device network messages.
///
[Serializable, NetSerializable]
public enum SignalState : byte
{
Momentary, // Instantaneous pulse high, compatibility behavior
Low,
High
}