CargoPalletConsoleBoundUserInterface.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using Content.Client.Cargo.UI;
  2. using Content.Shared.Cargo.BUI;
  3. using Content.Shared.Cargo.Events;
  4. using Robust.Client.GameObjects;
  5. using Robust.Client.UserInterface;
  6. namespace Content.Client.Cargo.BUI;
  7. public sealed class CargoPalletConsoleBoundUserInterface : BoundUserInterface
  8. {
  9. [ViewVariables]
  10. private CargoPalletMenu? _menu;
  11. public CargoPalletConsoleBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
  12. {
  13. }
  14. protected override void Open()
  15. {
  16. base.Open();
  17. _menu = this.CreateWindow<CargoPalletMenu>();
  18. _menu.AppraiseRequested += OnAppraisal;
  19. _menu.SellRequested += OnSell;
  20. }
  21. private void OnAppraisal()
  22. {
  23. SendMessage(new CargoPalletAppraiseMessage());
  24. }
  25. private void OnSell()
  26. {
  27. SendMessage(new CargoPalletSellMessage());
  28. }
  29. protected override void UpdateState(BoundUserInterfaceState state)
  30. {
  31. base.UpdateState(state);
  32. if (state is not CargoPalletConsoleInterfaceState palletState)
  33. return;
  34. _menu?.SetEnabled(palletState.Enabled);
  35. _menu?.SetAppraisal(palletState.Appraisal);
  36. _menu?.SetCount(palletState.Count);
  37. }
  38. }