Update arch (#4605)

This commit is contained in:
metalgearsloth
2023-11-25 14:56:56 +11:00
committed by GitHub
parent 9f57b705d7
commit b6cadfedd5
3 changed files with 8 additions and 12 deletions

View File

@@ -5,30 +5,26 @@ namespace Robust.Shared.GameObjects;
internal struct ArchetypeIterator
{
private readonly Query _query;
private readonly PooledList<Archetype> _archetypes;
internal ArchetypeIterator(in Query query, PooledList<Archetype> archetypes)
internal ArchetypeIterator(PooledList<Archetype> archetypes)
{
_query = query;
_archetypes = archetypes;
}
public ArchetypeEnumerator GetEnumerator()
{
return new ArchetypeEnumerator(_query, _archetypes);
return new ArchetypeEnumerator(_archetypes);
}
}
internal struct ArchetypeEnumerator
{
private readonly Query _query;
private readonly PooledList<Archetype> _archetypes;
private int _index;
public ArchetypeEnumerator(in Query query, PooledList<Archetype> archetypes)
public ArchetypeEnumerator(PooledList<Archetype> archetypes)
{
_query = query;
_archetypes = archetypes;
_index = _archetypes.Count;
}
@@ -38,7 +34,7 @@ internal struct ArchetypeEnumerator
while (--_index >= 0)
{
var archetype = Current;
if (archetype.Entities > 0)
if (archetype.EntityCount > 0)
{
return true;
}

View File

@@ -29,7 +29,7 @@ internal struct ArchChunkEnumerator
if (_archetypes.MoveNext())
{
_chunkIndex = _archetypes.Current.Size;
_chunkIndex = _archetypes.Current.ChunkCount;
}
}
@@ -45,7 +45,7 @@ internal struct ArchChunkEnumerator
return false;
}
_chunkIndex = _archetypes.Current.Size - 1;
_chunkIndex = _archetypes.Current.ChunkCount - 1;
return true;
}
}
@@ -54,7 +54,7 @@ internal static partial class QueryExtensions
{
internal static ArchChunkIterator ChunkIterator(this in Query query, World world)
{
var archetypeEnumerator = new ArchetypeEnumerator(in query, query.Matches);
var archetypeEnumerator = new ArchetypeEnumerator(query.Matches);
return new ArchChunkIterator(in archetypeEnumerator);
}
}