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) { } }