public FixedPoint2 TileReact(TileRef tile, ReagentPrototype reagent, FixedPoint2 reactVolume) { if (reactVolume <= FixedPoint2.Zero || tile.Tile.IsEmpty) { return(FixedPoint2.Zero); } var atmosphereSystem = EntitySystem.Get <AtmosphereSystem>(); var environment = atmosphereSystem.GetTileMixture(tile.GridUid, null, tile.GridIndices, true); if (environment == null || !atmosphereSystem.IsHotspotActive(tile.GridUid, tile.GridIndices)) { return(FixedPoint2.Zero); } environment.Temperature *= MathF.Max(_temperatureMultiplier * reactVolume.Float(), 1f); atmosphereSystem.ReactTile(tile.GridUid, tile.GridIndices); return(reactVolume); }
public int CompareTo(ReagentQuantity other) { return Quantity.Float().CompareTo(other.Quantity.Float()); }