Files
tbd-station-14/Content.Server/GameObjects/Components/Observer/AcceptCloningEui.cs
ShadowCommander 951b0f425a Refactor mind and ghost deletion code (#3680)
* Refactor mind and ghost deletion code

* Refactor to use EventBus and clean up deletes

* Fix mind eject when being deleted

* Refactor entity manager calls to use IEntity.EntityManager
2021-03-31 14:17:22 -07:00

38 lines
937 B
C#

#nullable enable
using Content.Server.Eui;
using Content.Server.Players;
using Content.Shared.Eui;
using Content.Shared.GameObjects.Components.Observer;
using Robust.Shared.GameObjects;
namespace Content.Server.GameObjects.Components.Observer
{
public class AcceptCloningEui : BaseEui
{
private readonly IEntity _newMob;
public AcceptCloningEui(IEntity newMob)
{
_newMob = newMob;
}
public override void HandleMessage(EuiMessageBase msg)
{
base.HandleMessage(msg);
if (msg is not AcceptCloningChoiceMessage choice
|| choice.Button == AcceptCloningUiButton.Deny
|| _newMob.Deleted)
{
Close();
return;
}
var mind = Player.ContentData()?.Mind;
mind?.TransferTo(_newMob);
mind?.UnVisit();
Close();
}
}
}