38 lines
1.3 KiB
C#
38 lines
1.3 KiB
C#
using Content.Shared.Radio;
|
|
using Robust.Shared.Prototypes;
|
|
|
|
namespace Content.Shared.Implants.Components;
|
|
|
|
/// <summary>
|
|
/// Gives the user access to a given channel without the need for a headset.
|
|
/// </summary>
|
|
[RegisterComponent]
|
|
public sealed partial class RadioImplantComponent : Component
|
|
{
|
|
/// <summary>
|
|
/// The radio channel(s) to grant access to.
|
|
/// </summary>
|
|
[DataField(required: true)]
|
|
public HashSet<ProtoId<RadioChannelPrototype>> RadioChannels = new();
|
|
|
|
/// <summary>
|
|
/// The radio channels that have been added by the implant to a user's ActiveRadioComponent.
|
|
/// Used to track which channels were successfully added (not already in user)
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Should not be modified outside RadioImplantSystem.cs
|
|
/// </remarks>
|
|
[DataField]
|
|
public HashSet<ProtoId<RadioChannelPrototype>> ActiveAddedChannels = new();
|
|
|
|
/// <summary>
|
|
/// The radio channels that have been added by the implant to a user's IntrinsicRadioTransmitterComponent.
|
|
/// Used to track which channels were successfully added (not already in user)
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Should not be modified outside RadioImplantSystem.cs
|
|
/// </remarks>
|
|
[DataField]
|
|
public HashSet<ProtoId<RadioChannelPrototype>> TransmitterAddedChannels = new();
|
|
}
|