using Content.Shared.DoAfter;
using Robust.Shared.Network;
namespace Content.Server._NF.CryoSleep;
public abstract class BaseCryosleepEvent : EntityEventArgs
{
public NetUserId? User;
public EntityUid Cryopod;
protected BaseCryosleepEvent(EntityUid cryopod, NetUserId? user)
{
Cryopod = cryopod;
User = user;
}
}
///
/// Raised on an entity who has entered cryosleep.
///
public sealed class CryosleepEnterEvent : BaseCryosleepEvent
{
public CryosleepEnterEvent(EntityUid cryopod, NetUserId? user) : base(cryopod, user) { }
}
///
/// Raised on an entity who has successfully woken up from cryosleep.
///
public sealed class CryosleepWakeUpEvent : BaseCryosleepEvent
{
public CryosleepWakeUpEvent(EntityUid cryopod, NetUserId? user) : base(cryopod, user) { }
}
///
/// Raised on an entity who is going to enter cryosleep before their mind is detached.
///
public sealed class CryosleepBeforeMindRemovedEvent : BaseCryosleepEvent
{
public bool DeleteEntity;
public CryosleepBeforeMindRemovedEvent(EntityUid cryopod, NetUserId? user) : base(cryopod, user) { }
}