diff --git a/Content.Client/SurveillanceCamera/ActiveSurveillanceCameraMonitor.cs b/Content.Client/SurveillanceCamera/ActiveSurveillanceCameraMonitor.cs index 6b038a3a4ac..df021dda6c6 100644 --- a/Content.Client/SurveillanceCamera/ActiveSurveillanceCameraMonitor.cs +++ b/Content.Client/SurveillanceCamera/ActiveSurveillanceCameraMonitor.cs @@ -3,7 +3,7 @@ namespace Content.Client.SurveillanceCamera; [RegisterComponent] public sealed partial class ActiveSurveillanceCameraMonitorVisualsComponent : Component { - public float TimeLeft = 10f; + public float TimeLeft = 0.5f; // Sunrise-edit public Action? OnFinish; } diff --git a/Content.Client/SurveillanceCamera/UI/SurveillanceCameraMonitorBoundUi.cs b/Content.Client/SurveillanceCamera/UI/SurveillanceCameraMonitorBoundUi.cs index 9132dd6ed5f..44f7bc5b983 100644 --- a/Content.Client/SurveillanceCamera/UI/SurveillanceCameraMonitorBoundUi.cs +++ b/Content.Client/SurveillanceCamera/UI/SurveillanceCameraMonitorBoundUi.cs @@ -14,18 +14,34 @@ public sealed class SurveillanceCameraMonitorBoundUserInterface : BoundUserInter [ViewVariables] private EntityUid? _currentCamera; + private readonly IEntityManager _entManager; // Sunrise-edit public SurveillanceCameraMonitorBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey) { _eyeLerpingSystem = EntMan.System(); _surveillanceCameraMonitorSystem = EntMan.System(); + // Sunrise-start + IoCManager.InjectDependencies(this); + _entManager = IoCManager.Resolve(); + _eyeLerpingSystem = _entManager.EntitySysManager.GetEntitySystem(); + _surveillanceCameraMonitorSystem = _entManager.EntitySysManager.GetEntitySystem(); + // Sunrise-end } protected override void Open() { base.Open(); - _window = new SurveillanceCameraMonitorWindow(); + // Sunrise-start + EntityUid? gridUid = null; + + if (_entManager.TryGetComponent(Owner, out var xform)) + { + gridUid = xform.GridUid; + } + + _window = new SurveillanceCameraMonitorWindow(gridUid); + // Sunrise-end if (State != null) { @@ -35,7 +51,6 @@ protected override void Open() _window.OpenCentered(); _window.CameraSelected += OnCameraSelected; - _window.SubnetOpened += OnSubnetRequest; _window.CameraRefresh += OnCameraRefresh; _window.SubnetRefresh += OnSubnetRefresh; _window.OnClose += Close; @@ -43,14 +58,9 @@ protected override void Open() _window.CameraDisconnect += OnCameraDisconnect; } - private void OnCameraSelected(string address) + private void OnCameraSelected(string cameraAddress, string subnetAddress) // Sunrise-edit { - SendMessage(new SurveillanceCameraMonitorSwitchMessage(address)); - } - - private void OnSubnetRequest(string subnet) - { - SendMessage(new SurveillanceCameraMonitorSubnetRequestMessage(subnet)); + SendMessage(new SurveillanceCameraMonitorSwitchMessage(cameraAddress, subnetAddress)); // Sunrise-edit } private void OnCameraSwitchTimer() @@ -82,9 +92,11 @@ protected override void UpdateState(BoundUserInterfaceState state) var active = EntMan.GetEntity(cast.ActiveCamera); + _entManager.TryGetComponent(Owner, out var xform); // Sunrise-edit + if (active == null) { - _window.UpdateState(null, cast.Subnets, cast.ActiveAddress, cast.ActiveSubnet, cast.Cameras); + _window.UpdateState(null, cast.ActiveAddress, cast.ActiveCamera); // Sunrise-edit if (_currentCamera != null) { @@ -109,9 +121,11 @@ protected override void UpdateState(BoundUserInterfaceState state) if (EntMan.TryGetComponent(active, out var eye)) { - _window.UpdateState(eye.Eye, cast.Subnets, cast.ActiveAddress, cast.ActiveSubnet, cast.Cameras); + _window.UpdateState(eye.Eye, cast.ActiveAddress, cast.ActiveCamera); // Sunrise-edit } } + + _window.ShowCameras(cast.Cameras, xform?.Coordinates); // Sunrise-edit } protected override void Dispose(bool disposing) diff --git a/Content.Client/SurveillanceCamera/UI/SurveillanceCameraMonitorWindow.xaml b/Content.Client/SurveillanceCamera/UI/SurveillanceCameraMonitorWindow.xaml index 8f996b81712..238ff61ae0b 100644 --- a/Content.Client/SurveillanceCamera/UI/SurveillanceCameraMonitorWindow.xaml +++ b/Content.Client/SurveillanceCamera/UI/SurveillanceCameraMonitorWindow.xaml @@ -1,25 +1,41 @@ - - - - - -