using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
namespace Content.Shared.Radio.Components;
///
/// Handles intercom ui and is authoritative on the channels an intercom can access.
///
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)]
public sealed partial class IntercomComponent : Component
{
///
/// Does this intercom require power to function
///
[DataField]
public bool RequiresPower = true;
[DataField, AutoNetworkedField]
public bool SpeakerEnabled;
[DataField, AutoNetworkedField]
public bool MicrophoneEnabled;
[DataField, AutoNetworkedField]
public ProtoId? CurrentChannel;
///
/// The list of radio channel prototypes this intercom can choose between.
///
[DataField, AutoNetworkedField]
public List> SupportedChannels = new();
}