28 lines
889 B
C#
28 lines
889 B
C#
using Content.Server.Radio.EntitySystems;
|
|
using Content.Shared.Chat;
|
|
using Content.Shared.Radio;
|
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Set;
|
|
|
|
namespace Content.Server.Radio.Components;
|
|
|
|
/// <summary>
|
|
/// Listens for radio messages and relays them to local chat.
|
|
/// </summary>
|
|
[RegisterComponent]
|
|
[Access(typeof(RadioDeviceSystem))]
|
|
public sealed partial class RadioSpeakerComponent : Component
|
|
{
|
|
/// <summary>
|
|
/// Whether or not interacting with this entity
|
|
/// toggles it on or off.
|
|
/// </summary>
|
|
[DataField("toggleOnInteract")]
|
|
public bool ToggleOnInteract = true;
|
|
|
|
[DataField("channels", customTypeSerializer: typeof(PrototypeIdHashSetSerializer<RadioChannelPrototype>))]
|
|
public HashSet<string> Channels = new () { SharedChatSystem.CommonChannel };
|
|
|
|
[DataField("enabled")]
|
|
public bool Enabled;
|
|
}
|