SharedNuke.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using Content.Shared.DoAfter;
  2. using Robust.Shared.Serialization;
  3. namespace Content.Shared.Nuke
  4. {
  5. public enum NukeVisualLayers
  6. {
  7. Base,
  8. Unlit
  9. }
  10. [NetSerializable, Serializable]
  11. public enum NukeVisuals
  12. {
  13. Deployed,
  14. State,
  15. }
  16. [NetSerializable, Serializable]
  17. public enum NukeVisualState
  18. {
  19. Idle,
  20. Armed,
  21. YoureFucked
  22. }
  23. [Serializable, NetSerializable]
  24. public enum NukeUiKey : byte
  25. {
  26. Key
  27. }
  28. public enum NukeStatus : byte
  29. {
  30. AWAIT_DISK,
  31. AWAIT_CODE,
  32. AWAIT_ARM,
  33. ARMED,
  34. COOLDOWN
  35. }
  36. [Serializable, NetSerializable]
  37. public sealed class NukeUiState : BoundUserInterfaceState
  38. {
  39. public bool DiskInserted;
  40. public NukeStatus Status;
  41. public int RemainingTime;
  42. public int CooldownTime;
  43. public bool IsAnchored;
  44. public int EnteredCodeLength;
  45. public int MaxCodeLength;
  46. public bool AllowArm;
  47. }
  48. [Serializable, NetSerializable]
  49. public sealed partial class NukeDisarmDoAfterEvent : SimpleDoAfterEvent
  50. {
  51. }
  52. }