feat: add simplified Select extension methods to EntityIterator

Add overloads for Select that allow iterating over components without
manually building a QueryDescriptor, simplifying usage in systems.
This commit is contained in:
2026-07-18 22:27:14 +08:00
parent df388ee9b3
commit b551a67915
3 changed files with 37 additions and 4 deletions
+1 -2
View File
@@ -18,8 +18,7 @@ public class RenderSystem : ISystem
grid[r, c] = '.';
// Fill in placed marks using the iterator API.
var markQuery = world.Query().With<Cell>().With<Mark>().Build();
using var markIter = world.Select<Cell, Mark>(markQuery);
using var markIter = world.Select<Cell, Mark>();
while (markIter.MoveNext())
{
grid[markIter.Current1.Row, markIter.Current1.Col] =
+1 -2
View File
@@ -18,8 +18,7 @@ public class WinCheckSystem : ISystem
// Build a 3×3 grid of marks using the iterator API.
var grid = new Player[3, 3];
var query = world.Query().With<Cell>().With<Mark>().Build();
using var iter = world.Select<Cell, Mark>(query);
using var iter = world.Select<Cell, Mark>();
while (iter.MoveNext())
{
grid[iter.Current1.Row, iter.Current1.Col] = iter.Current2.Player;