2020-04-09 00:28:56 +02:00
|
|
|
using Robust.Shared.Serialization;
|
|
|
|
|
|
2021-06-09 22:19:39 +02:00
|
|
|
namespace Content.Shared.Communications
|
2020-04-09 00:28:56 +02:00
|
|
|
{
|
2022-02-16 00:23:23 -07:00
|
|
|
[Virtual]
|
2023-08-22 18:14:33 -07:00
|
|
|
public partial class SharedCommunicationsConsoleComponent : Component
|
2020-04-09 00:28:56 +02:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Serializable, NetSerializable]
|
2022-02-16 00:23:23 -07:00
|
|
|
public sealed class CommunicationsConsoleInterfaceState : BoundUserInterfaceState
|
2020-04-09 00:28:56 +02:00
|
|
|
{
|
2021-03-13 23:21:57 -06:00
|
|
|
public readonly bool CanAnnounce;
|
2024-04-05 13:29:21 -04:00
|
|
|
public readonly bool CanBroadcast = true;
|
2021-02-16 09:31:57 +01:00
|
|
|
public readonly bool CanCall;
|
2020-04-09 20:28:22 +02:00
|
|
|
public readonly TimeSpan? ExpectedCountdownEnd;
|
2020-04-09 00:28:56 +02:00
|
|
|
public readonly bool CountdownStarted;
|
2022-05-17 21:05:31 -07:00
|
|
|
public List<string>? AlertLevels;
|
|
|
|
|
public string CurrentAlert;
|
|
|
|
|
public float CurrentAlertDelay;
|
2020-04-09 00:28:56 +02:00
|
|
|
|
2024-03-28 01:41:20 -04:00
|
|
|
public CommunicationsConsoleInterfaceState(bool canAnnounce, bool canCall, List<string>? alertLevels, string currentAlert, float currentAlertDelay, TimeSpan? expectedCountdownEnd = null)
|
2020-04-09 00:28:56 +02:00
|
|
|
{
|
2021-03-13 23:21:57 -06:00
|
|
|
CanAnnounce = canAnnounce;
|
2021-02-16 09:31:57 +01:00
|
|
|
CanCall = canCall;
|
2020-04-09 00:28:56 +02:00
|
|
|
ExpectedCountdownEnd = expectedCountdownEnd;
|
|
|
|
|
CountdownStarted = expectedCountdownEnd != null;
|
2022-05-17 21:05:31 -07:00
|
|
|
AlertLevels = alertLevels;
|
|
|
|
|
CurrentAlert = currentAlert;
|
|
|
|
|
CurrentAlertDelay = currentAlertDelay;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Serializable, NetSerializable]
|
|
|
|
|
public sealed class CommunicationsConsoleSelectAlertLevelMessage : BoundUserInterfaceMessage
|
|
|
|
|
{
|
|
|
|
|
public readonly string Level;
|
|
|
|
|
|
|
|
|
|
public CommunicationsConsoleSelectAlertLevelMessage(string level)
|
|
|
|
|
{
|
|
|
|
|
Level = level;
|
2020-04-09 00:28:56 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-03-13 23:21:57 -06:00
|
|
|
[Serializable, NetSerializable]
|
2022-02-16 00:23:23 -07:00
|
|
|
public sealed class CommunicationsConsoleAnnounceMessage : BoundUserInterfaceMessage
|
2021-03-13 23:21:57 -06:00
|
|
|
{
|
|
|
|
|
public readonly string Message;
|
|
|
|
|
|
|
|
|
|
public CommunicationsConsoleAnnounceMessage(string message)
|
|
|
|
|
{
|
|
|
|
|
Message = message;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2024-01-27 05:51:24 -08:00
|
|
|
[Serializable, NetSerializable]
|
|
|
|
|
public sealed class CommunicationsConsoleBroadcastMessage : BoundUserInterfaceMessage
|
|
|
|
|
{
|
|
|
|
|
public readonly string Message;
|
|
|
|
|
public CommunicationsConsoleBroadcastMessage(string message)
|
|
|
|
|
{
|
|
|
|
|
Message = message;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-04-09 00:28:56 +02:00
|
|
|
[Serializable, NetSerializable]
|
2022-02-16 00:23:23 -07:00
|
|
|
public sealed class CommunicationsConsoleCallEmergencyShuttleMessage : BoundUserInterfaceMessage
|
2020-04-09 00:28:56 +02:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2020-04-09 01:43:28 +02:00
|
|
|
[Serializable, NetSerializable]
|
2022-02-16 00:23:23 -07:00
|
|
|
public sealed class CommunicationsConsoleRecallEmergencyShuttleMessage : BoundUserInterfaceMessage
|
2020-04-09 01:43:28 +02:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2020-04-09 00:28:56 +02:00
|
|
|
[Serializable, NetSerializable]
|
|
|
|
|
public enum CommunicationsConsoleUiKey
|
|
|
|
|
{
|
|
|
|
|
Key
|
|
|
|
|
}
|
|
|
|
|
}
|