6
2026-01-24 12:49:55 +03:00

42 lines
1.2 KiB
C#

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;
}
}
/// <summary>
/// Raised on an entity who has entered cryosleep.
/// </summary>
public sealed class CryosleepEnterEvent : BaseCryosleepEvent
{
public CryosleepEnterEvent(EntityUid cryopod, NetUserId? user) : base(cryopod, user) { }
}
/// <summary>
/// Raised on an entity who has successfully woken up from cryosleep.
/// </summary>
public sealed class CryosleepWakeUpEvent : BaseCryosleepEvent
{
public CryosleepWakeUpEvent(EntityUid cryopod, NetUserId? user) : base(cryopod, user) { }
}
/// <summary>
/// Raised on an entity who is going to enter cryosleep before their mind is detached.
/// </summary>
public sealed class CryosleepBeforeMindRemovedEvent : BaseCryosleepEvent
{
public bool DeleteEntity;
public CryosleepBeforeMindRemovedEvent(EntityUid cryopod, NetUserId? user) : base(cryopod, user) { }
}