1
0

SharedSpaceHeaterComponent.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. using Robust.Shared.Serialization;
  2. namespace Content.Shared.Atmos.Piping.Portable.Components;
  3. [Serializable]
  4. [NetSerializable]
  5. public enum SpaceHeaterUiKey
  6. {
  7. Key
  8. }
  9. [Serializable]
  10. [NetSerializable]
  11. public sealed class SpaceHeaterToggleMessage : BoundUserInterfaceMessage
  12. {
  13. }
  14. [Serializable]
  15. [NetSerializable]
  16. public sealed class SpaceHeaterChangeTemperatureMessage : BoundUserInterfaceMessage
  17. {
  18. public float Temperature { get; }
  19. public SpaceHeaterChangeTemperatureMessage(float temperature)
  20. {
  21. Temperature = temperature;
  22. }
  23. }
  24. [Serializable]
  25. [NetSerializable]
  26. public sealed class SpaceHeaterChangePowerLevelMessage : BoundUserInterfaceMessage
  27. {
  28. public SpaceHeaterPowerLevel PowerLevel { get; }
  29. public SpaceHeaterChangePowerLevelMessage(SpaceHeaterPowerLevel powerLevel)
  30. {
  31. PowerLevel = powerLevel;
  32. }
  33. }
  34. [Serializable]
  35. [NetSerializable]
  36. public sealed class SpaceHeaterChangeModeMessage : BoundUserInterfaceMessage
  37. {
  38. public SpaceHeaterMode Mode { get; }
  39. public SpaceHeaterChangeModeMessage(SpaceHeaterMode mode)
  40. {
  41. Mode = mode;
  42. }
  43. }
  44. [Serializable]
  45. [NetSerializable]
  46. public sealed class SpaceHeaterBoundUserInterfaceState : BoundUserInterfaceState
  47. {
  48. public float MinTemperature { get; }
  49. public float MaxTemperature { get; }
  50. public float TargetTemperature { get; }
  51. public bool Enabled { get; }
  52. public SpaceHeaterMode Mode { get; }
  53. public SpaceHeaterPowerLevel PowerLevel { get; }
  54. public SpaceHeaterBoundUserInterfaceState(float minTemperature, float maxTemperature, float temperature, bool enabled, SpaceHeaterMode mode, SpaceHeaterPowerLevel powerLevel)
  55. {
  56. MinTemperature = minTemperature;
  57. MaxTemperature = maxTemperature;
  58. TargetTemperature = temperature;
  59. Enabled = enabled;
  60. Mode = mode;
  61. PowerLevel = powerLevel;
  62. }
  63. }
  64. [Serializable, NetSerializable]
  65. public enum SpaceHeaterMode : byte
  66. {
  67. Auto,
  68. Heat,
  69. Cool
  70. }
  71. [Serializable, NetSerializable]
  72. public enum SpaceHeaterPowerLevel : byte
  73. {
  74. Low,
  75. Medium,
  76. High
  77. }