Files
tbd-station-14/Content.Shared/Wires/WiresPanelComponent.cs
2023-03-23 20:09:45 -04:00

42 lines
1.2 KiB
C#

using Robust.Shared.Audio;
using Robust.Shared.GameStates;
using Robust.Shared.Serialization;
namespace Content.Shared.Wires;
[NetworkedComponent, RegisterComponent]
[Access(typeof(SharedWiresSystem))]
public sealed class WiresPanelComponent : Component
{
/// <summary>
/// Is the panel open for this entity's wires?
/// </summary>
[ViewVariables]
public bool Open;
/// <summary>
/// Should this entity's wires panel be visible at all?
/// </summary>
[ViewVariables]
public bool Visible = true;
/// <summary>
/// Marks if maintenance panel being open/closed by someone with a screwdriver.
/// Prevents do after spam.
/// </summary>
public bool IsScrewing;
[DataField("screwdriverOpenSound")]
public SoundSpecifier ScrewdriverOpenSound = new SoundPathSpecifier("/Audio/Machines/screwdriveropen.ogg");
[DataField("screwdriverCloseSound")]
public SoundSpecifier ScrewdriverCloseSound = new SoundPathSpecifier("/Audio/Machines/screwdriverclose.ogg");
}
[Serializable, NetSerializable]
public sealed class WiresPanelComponentState : ComponentState
{
public bool Open;
public bool Visible;
}