mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-09-16 07:12:27 +02:00
32 lines
774 B
C#
32 lines
774 B
C#
using System.Collections.Generic;
|
|
using System.Diagnostics.CodeAnalysis;
|
|
using Robust.Shared.GameObjects;
|
|
|
|
namespace Robust.Shared.Map;
|
|
|
|
public struct GridEnumerator
|
|
{
|
|
private Dictionary<GridId, EntityUid>.Enumerator _enumerator;
|
|
private EntityQuery<MapGridComponent> _query;
|
|
|
|
internal GridEnumerator(Dictionary<GridId, EntityUid>.Enumerator enumerator, EntityQuery<MapGridComponent> 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;
|
|
}
|
|
}
|