| 123456789101112131415161718192021222324252627282930 |
- using System.Diagnostics.CodeAnalysis;
- using Content.Shared.Atmos;
- namespace Content.Server.Atmos;
- public struct TileMixtureEnumerator
- {
- public readonly TileAtmosphere?[] Tiles;
- public int Index = 0;
- public static readonly TileMixtureEnumerator Empty = new(Array.Empty<TileAtmosphere>());
- internal TileMixtureEnumerator(TileAtmosphere?[] tiles)
- {
- Tiles = tiles;
- }
- public bool MoveNext([NotNullWhen(true)] out GasMixture? mix)
- {
- while (Index < Tiles.Length)
- {
- mix = Tiles[Index++]?.Air;
- if (mix != null)
- return true;
- }
- mix = null;
- return false;
- }
- }
|