using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using Robust.Shared.GameObjects; namespace Robust.Shared.Map; public struct GridEnumerator { private Dictionary.Enumerator _enumerator; private EntityQuery _query; internal GridEnumerator(Dictionary.Enumerator enumerator, EntityQuery query) { _enumerator = enumerator; _query = query; } public bool MoveNext([NotNullWhen(true)] out IMapGrid? grid) { if (!_enumerator.MoveNext()) { grid = null; return false; } var (_, uid) = _enumerator.Current; grid = _query.GetComponent(uid).Grid; return true; } }