CatStation/Content.Shared/SubFloor/TrayScannerComponent.cs
psykana a91d5b46c7
T-ray scanner modes (#43161)
* T-ray scanner modes

* Remove dead dep

* review

* PollingItemStatusControl
2026-04-24 08:32:39 +00:00

46 lines
1.1 KiB
C#

using Robust.Shared.Audio;
using Robust.Shared.GameStates;
using Robust.Shared.Serialization;
namespace Content.Shared.SubFloor;
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class TrayScannerComponent : Component
{
/// <summary>
/// Whether the scanner is currently on.
/// </summary>
[DataField, AutoNetworkedField]
public bool Enabled;
/// <summary>
/// Current mode of operation, defines which subfloor entities are shown.
/// </summary>
[DataField, AutoNetworkedField]
public TrayScannerMode Mode = TrayScannerMode.All;
/// <summary>
/// Radius in which the scanner will reveal entities. Centered on the <see cref="LastLocation"/>.
/// </summary>
[DataField, AutoNetworkedField]
public float Range = 4f;
[DataField]
public SoundSpecifier SoundSwitchMode = new SoundPathSpecifier("/Audio/Machines/quickbeep.ogg");
}
[Serializable, NetSerializable]
public enum TrayScannerMode
{
All,
Piping,
Wiring
}
[Serializable, NetSerializable]
public enum TrayScannerVisual : byte
{
Visual,
On,
Off
}