using Content.Shared.StationRecords; using Robust.Client.UserInterface; 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 = this.CreateWindow(); _window.OnKeySelected += key => SendMessage(new SelectStationRecord(key)); _window.OnFiltersChanged += (type, filterValue) => SendMessage(new SetStationRecordFilter(type, filterValue)); _window.OnDeleted += id => SendMessage(new DeleteStationRecord(id)); } protected override void UpdateState(BoundUserInterfaceState state) { base.UpdateState(state); if (state is not GeneralStationRecordConsoleState cast) return; _window?.UpdateState(cast); } }