Files
Delta-v/Content.Shared/Atmos/GasMixtureStringRepresentation.cs
T
ArtisticRoomba 86c4c900eb Atmos YAML-defined gas flammability, flammability API (#43165)
* atmos masked flammability/API

* on that oomba pac

* yuuup

* resolve todo and review

* rename
2026-06-29 12:44:03 +02:00

26 lines
801 B
C#

using System.Text;
namespace Content.Shared.Atmos;
public readonly record struct GasMixtureStringRepresentation(float TotalMoles, float Temperature, float Pressure, Dictionary<string, float> MolesPerGas) : IFormattable
{
public override string ToString()
{
var stringBuilder = new StringBuilder();
foreach (var (gas, moles) in MolesPerGas)
{
stringBuilder.Append($"{gas}: {moles}, ");
}
var result = stringBuilder.ToString();
return $"{Temperature} K, {Pressure} kPa, {result}Total Moles: {TotalMoles}";
}
public string ToString(string? format, IFormatProvider? formatProvider)
{
return ToString();
}
public static implicit operator string(GasMixtureStringRepresentation rep) => rep.ToString();
}