GasCondenserComponent.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using Content.Server.Atmos.Piping.Unary.EntitySystems;
  2. using Content.Shared.Chemistry.Components;
  3. namespace Content.Server.Atmos.Piping.Unary.Components;
  4. /// <summary>
  5. /// Used for an entity that converts moles of gas into units of reagent.
  6. /// </summary>
  7. [RegisterComponent]
  8. [Access(typeof(GasCondenserSystem))]
  9. public sealed partial class GasCondenserComponent : Component
  10. {
  11. /// <summary>
  12. /// The ID for the pipe node.
  13. /// </summary>
  14. [DataField]
  15. public string Inlet = "pipe";
  16. /// <summary>
  17. /// The ID for the solution.
  18. /// </summary>
  19. [DataField]
  20. public string SolutionId = "tank";
  21. /// <summary>
  22. /// The solution that gases are condensed into.
  23. /// </summary>
  24. [ViewVariables]
  25. public Entity<SolutionComponent>? Solution = null;
  26. /// <summary>
  27. /// For a condenser, how many U of reagents are given per each mole of gas.
  28. /// </summary>
  29. /// <remarks>
  30. /// Derived from a standard of 500u per canister:
  31. /// 400u / 1871.71051 moles per canister
  32. /// </remarks>
  33. [DataField, ViewVariables(VVAccess.ReadWrite)]
  34. public float MolesToReagentMultiplier = 0.2137f;
  35. }