using Robust.Shared.Audio;
using Robust.Shared.Prototypes;
namespace Content.Server.Wires;
[RegisterComponent]
public sealed partial class WiresComponent : Component
{
///
/// The name of this entity's internal board.
///
[DataField]
public LocId BoardName { get; set; } = "wires-board-name-default";
///
/// The layout ID of this entity's wires.
///
[DataField(required: true)]
public ProtoId LayoutId { get; set; } = default!;
///
/// The serial number of this board. Randomly generated upon start,
/// does not need to be set.
///
[ViewVariables]
public string? SerialNumber { get; set; }
///
/// The seed that dictates the wires appearance, as well as
/// the status ordering on the UI client side.
///
[ViewVariables]
public int WireSeed { get; set; }
///
/// The list of wires currently active on this entity.
///
[ViewVariables]
public List WiresList { get; set; } = new();
///
/// Queue of wires saved while the wire's DoAfter event occurs, to prevent too much spam.
///
[ViewVariables]
public List WiresQueue { get; } = new();
///
/// If this should follow the layout saved the first time the layout dictated by the
/// layout ID is generated, or if a new wire order should be generated every time.
///
[DataField]
public bool AlwaysRandomize { get; private set; }
///
/// Per wire status, keyed by an object.
///
[ViewVariables]
public Dictionary