1
0

AcceptCloningEui.cs 1000 B

123456789101112131415161718192021222324252627282930313233343536
  1. using Content.Server.EUI;
  2. using Content.Shared.Cloning;
  3. using Content.Shared.Eui;
  4. using Content.Shared.Mind;
  5. namespace Content.Server.Cloning
  6. {
  7. public sealed class AcceptCloningEui : BaseEui
  8. {
  9. private readonly EntityUid _mindId;
  10. private readonly MindComponent _mind;
  11. private readonly CloningPodSystem _cloningPodSystem;
  12. public AcceptCloningEui(EntityUid mindId, MindComponent mind, CloningPodSystem cloningPodSys)
  13. {
  14. _mindId = mindId;
  15. _mind = mind;
  16. _cloningPodSystem = cloningPodSys;
  17. }
  18. public override void HandleMessage(EuiMessageBase msg)
  19. {
  20. base.HandleMessage(msg);
  21. if (msg is not AcceptCloningChoiceMessage choice ||
  22. choice.Button == AcceptCloningUiButton.Deny)
  23. {
  24. Close();
  25. return;
  26. }
  27. _cloningPodSystem.TransferMindToClone(_mindId, _mind);
  28. Close();
  29. }
  30. }
  31. }