ReturnToBodyEui.cs 743 B

1234567891011121314151617181920212223242526272829303132333435
  1. using Content.Server.EUI;
  2. using Content.Shared.Eui;
  3. using Content.Shared.Ghost;
  4. using Content.Shared.Mind;
  5. namespace Content.Server.Ghost;
  6. public sealed class ReturnToBodyEui : BaseEui
  7. {
  8. private readonly SharedMindSystem _mindSystem;
  9. private readonly MindComponent _mind;
  10. public ReturnToBodyEui(MindComponent mind, SharedMindSystem mindSystem)
  11. {
  12. _mind = mind;
  13. _mindSystem = mindSystem;
  14. }
  15. public override void HandleMessage(EuiMessageBase msg)
  16. {
  17. base.HandleMessage(msg);
  18. if (msg is not ReturnToBodyMessage choice ||
  19. !choice.Accepted)
  20. {
  21. Close();
  22. return;
  23. }
  24. _mindSystem.UnVisit(_mind.Session);
  25. Close();
  26. }
  27. }