using Robust.Shared.Audio;
using Robust.Shared.GameStates;
namespace Content.Shared.Wires;
[NetworkedComponent, RegisterComponent]
[Access(typeof(SharedWiresSystem))]
[AutoGenerateComponentState]
public sealed partial class WiresPanelComponent : Component
{
///
/// Is the panel open for this entity's wires?
///
[DataField("open")]
[AutoNetworkedField]
public bool Open;
///
/// Should this entity's wires panel be visible at all?
///
[ViewVariables]
[AutoNetworkedField]
public bool Visible = true;
[DataField("screwdriverOpenSound")]
public SoundSpecifier ScrewdriverOpenSound = new SoundPathSpecifier("/Audio/Machines/screwdriveropen.ogg");
[DataField("screwdriverCloseSound")]
public SoundSpecifier ScrewdriverCloseSound = new SoundPathSpecifier("/Audio/Machines/screwdriverclose.ogg");
[AutoNetworkedField]
public string? WiresPanelSecurityExamination = default!;
[AutoNetworkedField]
public bool WiresAccessible = true;
}
///
/// Event raised when a panel is opened or closed.
///
[ByRefEvent]
public readonly record struct PanelChangedEvent(bool Open);