HealthAnalyzerBoundUserInterface.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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.HealthAnalyzer.UI
  6. {
  7. [UsedImplicitly]
  8. public sealed class HealthAnalyzerBoundUserInterface : BoundUserInterface
  9. {
  10. [ViewVariables]
  11. private HealthAnalyzerWindow? _window;
  12. public HealthAnalyzerBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
  13. {
  14. }
  15. protected override void Open()
  16. {
  17. base.Open();
  18. _window = this.CreateWindow<HealthAnalyzerWindow>();
  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 HealthAnalyzerScannedUserMessage cast)
  27. return;
  28. _window.Populate(cast);
  29. }
  30. // Shitmed Change Start
  31. private void SendBodyPartMessage(TargetBodyPart? part, EntityUid target) => SendMessage(new HealthAnalyzerPartMessage(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. }