using Content.Server.GameObjects.Components.Interactable; using Robust.Shared.GameObjects.Systems; using Robust.Shared.Interfaces.GameObjects; using System.Collections.Generic; namespace Content.Server.GameObjects.EntitySystems { internal sealed class RadioSystem : EntitySystem { private readonly List _messages = new List(); public void SpreadMessage(IEntity source, string message) { if (_messages.Contains(message)) { return; } _messages.Add(message); foreach (var radio in ComponentManager.EntityQuery()) { if (radio.Owner == source || !radio.RadioOn) { continue; } radio.Speaker(message); } _messages.Remove(message); } } }