SharedInsideCryoPodSystem.cs 865 B

1234567891011121314151617181920212223242526272829
  1. using Content.Shared.Standing;
  2. using Robust.Shared.Containers;
  3. namespace Content.Shared.Medical.Cryogenics;
  4. public abstract partial class SharedCryoPodSystem
  5. {
  6. public virtual void InitializeInsideCryoPod()
  7. {
  8. SubscribeLocalEvent<InsideCryoPodComponent, DownAttemptEvent>(HandleDown);
  9. SubscribeLocalEvent<InsideCryoPodComponent, EntGotRemovedFromContainerMessage>(OnEntGotRemovedFromContainer);
  10. }
  11. // Must stand in the cryo pod
  12. private void HandleDown(EntityUid uid, InsideCryoPodComponent component, DownAttemptEvent args)
  13. {
  14. args.Cancel();
  15. }
  16. private void OnEntGotRemovedFromContainer(EntityUid uid, InsideCryoPodComponent component, EntGotRemovedFromContainerMessage args)
  17. {
  18. if (Terminating(uid))
  19. {
  20. return;
  21. }
  22. RemComp<InsideCryoPodComponent>(uid);
  23. }
  24. }