if (tile.Hotspot.Bypassing)
{
- tile.Hotspot.Volume = tile.Air.ReactionResults[GasReaction.Fire] * Atmospherics.FireGrowthRate;
+ tile.Hotspot.Volume = tile.Air.ReactionResults[(byte)GasReaction.Fire] * Atmospherics.FireGrowthRate;
tile.Hotspot.Temperature = tile.Air.Temperature;
}
else
affected.Temperature = tile.Hotspot.Temperature;
React(affected, tile);
tile.Hotspot.Temperature = affected.Temperature;
- tile.Hotspot.Volume = affected.ReactionResults[GasReaction.Fire] * Atmospherics.FireGrowthRate;
+ tile.Hotspot.Volume = affected.ReactionResults[(byte)GasReaction.Fire] * Atmospherics.FireGrowthRate;
Merge(tile.Air, affected);
}
var oldHeatCapacity = atmosphereSystem.GetHeatCapacity(mixture, true);
var temperature = mixture.Temperature;
var location = holder as TileAtmosphere;
- mixture.ReactionResults[GasReaction.Fire] = 0;
+ mixture.ReactionResults[(byte)GasReaction.Fire] = 0;
// More plasma released at higher temperatures.
var temperatureScale = 0f;
energyReleased += Atmospherics.FirePlasmaEnergyReleased * plasmaBurnRate;
energyReleased /= heatScale; // adjust energy to make sure speedup doesn't cause mega temperature rise
- mixture.ReactionResults[GasReaction.Fire] += plasmaBurnRate * (1 + oxygenBurnRate);
+ mixture.ReactionResults[(byte)GasReaction.Fire] += plasmaBurnRate * (1 + oxygenBurnRate);
}
}
}
}
- return mixture.ReactionResults[GasReaction.Fire] != 0 ? ReactionResult.Reacting : ReactionResult.NoReaction;
+ return mixture.ReactionResults[(byte)GasReaction.Fire] != 0 ? ReactionResult.Reacting : ReactionResult.NoReaction;
}
}
}
var oldHeatCapacity = atmosphereSystem.GetHeatCapacity(mixture, true);
var temperature = mixture.Temperature;
var location = holder as TileAtmosphere;
- mixture.ReactionResults[GasReaction.Fire] = 0f;
+ mixture.ReactionResults[(byte)GasReaction.Fire] = 0f;
var burnedFuel = 0f;
var initialTrit = mixture.GetMoles(Gas.Tritium);
// Conservation of mass is important.
mixture.AdjustMoles(Gas.WaterVapor, burnedFuel);
- mixture.ReactionResults[GasReaction.Fire] += burnedFuel;
+ mixture.ReactionResults[(byte)GasReaction.Fire] += burnedFuel;
}
energyReleased /= heatScale; // adjust energy to make sure speedup doesn't cause mega temperature rise
}
}
- return mixture.ReactionResults[GasReaction.Fire] != 0 ? ReactionResult.Reacting : ReactionResult.NoReaction;
+ return mixture.ReactionResults[(byte)GasReaction.Fire] != 0 ? ReactionResult.Reacting : ReactionResult.NoReaction;
}
}
}
public bool Immutable { get; private set; }
[ViewVariables]
- public readonly Dictionary<GasReaction, float> ReactionResults = new()
+ public readonly float[] ReactionResults =
{
- // We initialize the dictionary here.
- { GasReaction.Fire, 0f }
+ 0f,
};
[ViewVariables]