CargoShuttleConsoleBoundUserInterface.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using Content.Client.Cargo.UI;
  2. using Content.Shared.Cargo.BUI;
  3. using JetBrains.Annotations;
  4. using Robust.Client.GameObjects;
  5. using Robust.Client.UserInterface;
  6. using Robust.Shared.Prototypes;
  7. namespace Content.Client.Cargo.BUI;
  8. [UsedImplicitly]
  9. public sealed class CargoShuttleConsoleBoundUserInterface : BoundUserInterface
  10. {
  11. [Dependency] private readonly IPrototypeManager _protoManager = default!;
  12. [ViewVariables]
  13. private CargoShuttleMenu? _menu;
  14. public CargoShuttleConsoleBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
  15. {
  16. }
  17. protected override void Open()
  18. {
  19. base.Open();
  20. _menu = this.CreateWindow<CargoShuttleMenu>();
  21. }
  22. protected override void UpdateState(BoundUserInterfaceState state)
  23. {
  24. base.UpdateState(state);
  25. if (state is not CargoShuttleConsoleBoundUserInterfaceState cargoState) return;
  26. _menu?.SetAccountName(cargoState.AccountName);
  27. _menu?.SetShuttleName(cargoState.ShuttleName);
  28. _menu?.SetOrders(EntMan.System<SpriteSystem>(), _protoManager, cargoState.Orders);
  29. }
  30. }