diff --git a/Content.Server/SurveillanceCamera/Components/SurveillanceCameraComponent.cs b/Content.Server/SurveillanceCamera/Components/SurveillanceCameraComponent.cs index 809806325a..cd7480506b 100644 --- a/Content.Server/SurveillanceCamera/Components/SurveillanceCameraComponent.cs +++ b/Content.Server/SurveillanceCamera/Components/SurveillanceCameraComponent.cs @@ -10,6 +10,7 @@ public sealed class SurveillanceCameraComponent : Component // List of active viewers. This is for bookkeeping purposes, // so that when a camera shuts down, any entity viewing it // will immediately have their subscription revoked. + [ViewVariables] public HashSet ActiveViewers { get; } = new(); // Monitors != Viewers, as viewers are entities that are tied @@ -18,6 +19,7 @@ public sealed class SurveillanceCameraComponent : Component // Monitors are grouped sets of viewers, and may be // completely different monitor types (e.g., monitor console, // AI, etc.) + [ViewVariables] public HashSet ActiveMonitors { get; } = new(); // If this camera is active or not. Deactivating a camera diff --git a/Content.Server/SurveillanceCamera/Components/SurveillanceCameraMonitorComponent.cs b/Content.Server/SurveillanceCamera/Components/SurveillanceCameraMonitorComponent.cs index 919a0860d0..de276afa3e 100644 --- a/Content.Server/SurveillanceCamera/Components/SurveillanceCameraMonitorComponent.cs +++ b/Content.Server/SurveillanceCamera/Components/SurveillanceCameraMonitorComponent.cs @@ -5,17 +5,24 @@ namespace Content.Server.SurveillanceCamera; public sealed class SurveillanceCameraMonitorComponent : Component { // Currently active camera viewed by this monitor. + [ViewVariables] public EntityUid? ActiveCamera { get; set; } + + [ViewVariables] public string ActiveCameraAddress { get; set; } = string.Empty; + [ViewVariables] // Last time this monitor was sent a heartbeat. public float LastHeartbeat { get; set; } + + [ViewVariables] // Last time this monitor sent a heartbeat. public float LastHeartbeatSent { get; set; } // Next camera this monitor is trying to connect to. // If the monitor has connected to the camera, this // should be set to null. + [ViewVariables] public string? NextCameraAddress { get; set; } [ViewVariables] @@ -23,10 +30,12 @@ public sealed class SurveillanceCameraMonitorComponent : Component public HashSet Viewers { get; } = new(); // Current active subnet. + [ViewVariables] public string ActiveSubnet { get; set; } = default!; // Known cameras in this subnet by address with name values. // This is cleared when the subnet is changed. + [ViewVariables] public Dictionary KnownCameras { get; } = new(); [ViewVariables]