using Content.Shared.StationRecords; using Robust.Client.GameObjects; namespace Content.Client.StationRecords; public sealed class GeneralStationRecordConsoleBoundUserInterface : BoundUserInterface { private GeneralStationRecordConsoleWindow? _window = default!; public GeneralStationRecordConsoleBoundUserInterface(ClientUserInterfaceComponent owner, Enum uiKey) : base(owner, uiKey) {} protected override void Open() { base.Open(); _window = new(); _window.OnKeySelected += OnKeySelected; _window.OnClose += Close; _window.OpenCentered(); } private void OnKeySelected(StationRecordKey? key) { SendMessage(new SelectGeneralStationRecord(key)); } protected override void UpdateState(BoundUserInterfaceState state) { base.UpdateState(state); if (state is not GeneralStationRecordConsoleState cast) { return; } _window?.UpdateState(cast); } protected override void Dispose(bool disposing) { base.Dispose(disposing); _window?.Close(); } }