LogProbeUi.cs 971 B

123456789101112131415161718192021222324252627282930313233343536
  1. using Content.Client.UserInterface.Fragments;
  2. using Content.Shared.CartridgeLoader;
  3. using Content.Shared.CartridgeLoader.Cartridges;
  4. using Robust.Client.UserInterface;
  5. namespace Content.Client.CartridgeLoader.Cartridges;
  6. public sealed partial class LogProbeUi : UIFragment
  7. {
  8. private LogProbeUiFragment? _fragment;
  9. public override Control GetUIFragmentRoot()
  10. {
  11. return _fragment!;
  12. }
  13. public override void Setup(BoundUserInterface ui, EntityUid? fragmentOwner)
  14. {
  15. _fragment = new LogProbeUiFragment();
  16. _fragment.OnPrintPressed += () =>
  17. {
  18. var ev = new LogProbePrintMessage();
  19. var message = new CartridgeUiMessage(ev);
  20. ui.SendMessage(message);
  21. };
  22. }
  23. public override void UpdateState(BoundUserInterfaceState state)
  24. {
  25. if (state is not LogProbeUiState cast)
  26. return;
  27. _fragment?.UpdateState(cast.EntityName, cast.PulledLogs);
  28. }
  29. }