public Enumerator(World world) { _world = world; _indices = (-1, -1, -1); _segment = default; _chunk = default; }
public bool MoveNext() { while (true) { if (_segment == null && !_world.Segments.TryAt(++_indices.segment, out _segment)) { return(false); } else if (_chunk == null && !_segment.Chunks.TryAt(++_indices.chunk, out _chunk)) { _indices.chunk = -1; _segment = null; } else if (++_indices.entity < _chunk.Count) { return(true); } else { _indices.entity = -1; _chunk = null; } } }
public void Reset() { _indices = (-1, -1, -1); _segment = default; _chunk = default; }
public Context(int index, int count, Segment.Chunk chunk) { Index = index; Count = count; Chunk = chunk; }