MedBookBoundUserInterface.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using Content.Shared.MedicalScanner;
  2. using JetBrains.Annotations;
  3. using Robust.Client.UserInterface;
  4. using Content.Shared._Shitmed.Targeting; // Shitmed Change
  5. namespace Content.Client.MedBook.UI
  6. {
  7. [UsedImplicitly]
  8. public sealed class MedBookBoundUserInterface : BoundUserInterface
  9. {
  10. [ViewVariables]
  11. private MedBookWindow? _window;
  12. public MedBookBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
  13. {
  14. }
  15. protected override void Open()
  16. {
  17. base.Open();
  18. _window = this.CreateWindow<MedBookWindow>();
  19. _window.OnBodyPartSelected += SendBodyPartMessage; // Shitmed Change
  20. _window.Title = EntMan.GetComponent<MetaDataComponent>(Owner).EntityName;
  21. }
  22. protected override void ReceiveMessage(BoundUserInterfaceMessage message)
  23. {
  24. if (_window == null)
  25. return;
  26. if (message is not MedBookScannedUserMessage cast)
  27. return;
  28. _window.Populate(cast);
  29. }
  30. // Shitmed Change Start
  31. private void SendBodyPartMessage(TargetBodyPart? part, EntityUid target) => SendMessage(new MedBookPartMessage(EntMan.GetNetEntity(target), part ?? null));
  32. protected override void Dispose(bool disposing)
  33. {
  34. base.Dispose(disposing);
  35. if (!disposing)
  36. return;
  37. if (_window != null)
  38. _window.OnBodyPartSelected -= SendBodyPartMessage;
  39. _window?.Dispose();
  40. }
  41. // Shitmed Change End
  42. }
  43. }