| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- using Content.Shared.Research.Components;
- using Content.Shared.Research.Prototypes;
- using JetBrains.Annotations;
- using Robust.Client.UserInterface;
- using Robust.Shared.Prototypes;
- namespace Content.Client.Research.UI;
- [UsedImplicitly]
- public sealed class ResearchConsoleBoundUserInterface : BoundUserInterface
- {
- [ViewVariables]
- private ResearchConsoleMenu? _consoleMenu;
- public ResearchConsoleBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
- {
- }
- protected override void Open()
- {
- base.Open();
- var owner = Owner;
- _consoleMenu = this.CreateWindow<ResearchConsoleMenu>();
- _consoleMenu.SetEntity(owner);
- _consoleMenu.OnTechnologyCardPressed += id =>
- {
- SendMessage(new ConsoleUnlockTechnologyMessage(id));
- };
- _consoleMenu.OnServerButtonPressed += () =>
- {
- SendMessage(new ConsoleServerSelectionMessage());
- };
- }
- public override void OnProtoReload(PrototypesReloadedEventArgs args)
- {
- base.OnProtoReload(args);
- if (!args.WasModified<TechnologyPrototype>())
- return;
- if (State is not ResearchConsoleBoundInterfaceState rState)
- return;
- _consoleMenu?.UpdatePanels(rState);
- _consoleMenu?.UpdateInformationPanel(rState);
- }
- protected override void UpdateState(BoundUserInterfaceState state)
- {
- base.UpdateState(state);
- if (state is not ResearchConsoleBoundInterfaceState castState)
- return;
- _consoleMenu?.UpdatePanels(castState);
- _consoleMenu?.UpdateInformationPanel(castState);
- }
- }
|