using Content.Shared.Radio.EntitySystems; using Content.Shared.Chat; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared.Radio.Components; /// /// Listens for local chat messages and relays them to some radio frequency. /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] [Access(typeof(SharedRadioDeviceSystem))] public sealed partial class RadioMicrophoneComponent : Component { /// /// Radio channel on which local speech is broadcast. /// [DataField, AutoNetworkedField] public ProtoId BroadcastChannel = SharedChatSystem.CommonChannel; /// /// Maximum distance from the microphone at which speech is heard. /// [DataField] public int ListenRange = 4; /// /// Whether the microphone is currently broadcasting. /// [DataField, AutoNetworkedField] public bool Enabled; /// /// Whether the microphone requires power to operate. /// [DataField] public bool PowerRequired; /// /// Whether interacting with this entity toggles it on/off, or not. /// [DataField] public bool ToggleOnInteract = true; /// /// Whether the speaker must have an unobstructed path to the radio to speak, or now. /// [DataField] public bool UnobstructedRequired; }