using Robust.Shared.Serialization; namespace Content.Shared.Communications { [Virtual] public class SharedCommunicationsConsoleComponent : Component { } [Serializable, NetSerializable] public sealed class CommunicationsConsoleInterfaceState : BoundUserInterfaceState { public readonly bool CanAnnounce; public readonly bool CanCall; public readonly TimeSpan? ExpectedCountdownEnd; public readonly bool CountdownStarted; public CommunicationsConsoleInterfaceState(bool canAnnounce, bool canCall, TimeSpan? expectedCountdownEnd = null) { CanAnnounce = canAnnounce; CanCall = canCall; ExpectedCountdownEnd = expectedCountdownEnd; CountdownStarted = expectedCountdownEnd != null; } } [Serializable, NetSerializable] public sealed class CommunicationsConsoleAnnounceMessage : BoundUserInterfaceMessage { public readonly string Message; public CommunicationsConsoleAnnounceMessage(string message) { Message = message; } } [Serializable, NetSerializable] public sealed class CommunicationsConsoleCallEmergencyShuttleMessage : BoundUserInterfaceMessage { } [Serializable, NetSerializable] public sealed class CommunicationsConsoleRecallEmergencyShuttleMessage : BoundUserInterfaceMessage { } [Serializable, NetSerializable] public enum CommunicationsConsoleUiKey { Key } }