GasVolumePumpComponent.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using Content.Shared.Atmos;
  2. using Content.Shared.Guidebook;
  3. namespace Content.Server.Atmos.Piping.Binary.Components
  4. {
  5. [RegisterComponent]
  6. public sealed partial class GasVolumePumpComponent : Component
  7. {
  8. [ViewVariables(VVAccess.ReadWrite)]
  9. [DataField("enabled")]
  10. public bool Enabled { get; set; } = true;
  11. [DataField("blocked")]
  12. public bool Blocked { get; set; } = false;
  13. [ViewVariables(VVAccess.ReadWrite)]
  14. public bool Overclocked { get; set; } = false;
  15. [ViewVariables(VVAccess.ReadWrite)]
  16. [DataField("inlet")]
  17. public string InletName { get; set; } = "inlet";
  18. [ViewVariables(VVAccess.ReadWrite)]
  19. [DataField("outlet")]
  20. public string OutletName { get; set; } = "outlet";
  21. [ViewVariables(VVAccess.ReadWrite)]
  22. [DataField("transferRate")]
  23. public float TransferRate { get; set; } = Atmospherics.MaxTransferRate;
  24. [ViewVariables(VVAccess.ReadWrite)]
  25. [DataField("maxTransferRate")]
  26. public float MaxTransferRate { get; set; } = Atmospherics.MaxTransferRate;
  27. [DataField("leakRatio")]
  28. public float LeakRatio { get; set; } = 0.1f;
  29. [DataField("lowerThreshold")]
  30. public float LowerThreshold { get; set; } = 0.01f;
  31. [DataField("higherThreshold")]
  32. [GuidebookData]
  33. public float HigherThreshold { get; set; } = DefaultHigherThreshold;
  34. public static readonly float DefaultHigherThreshold = 2 * Atmospherics.MaxOutputPressure;
  35. [DataField("overclockThreshold")]
  36. public float OverclockThreshold { get; set; } = 1000;
  37. [DataField("lastMolesTransferred")]
  38. public float LastMolesTransferred;
  39. }
  40. }