using Content.Shared.StationRecords; namespace Content.Client.StationRecords; public sealed class GeneralStationRecordConsoleBoundUserInterface : BoundUserInterface { [ViewVariables] private GeneralStationRecordConsoleWindow? _window = default!; public GeneralStationRecordConsoleBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey) { } protected override void Open() { base.Open(); _window = new(); _window.OnKeySelected += key => SendMessage(new SelectStationRecord(key)); _window.OnFiltersChanged += (type, filterValue) => SendMessage(new SetStationRecordFilter(type, filterValue)); _window.OnClose += Close; _window.OpenCentered(); } 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(); } }