Index / Search
Indexed Components
struct TileComponent : IIndexedComponent<int> // indexed field type: int
{
public int tileId;
public int GetIndexedValue() => tileId; // indexed field
}
public static void ComponentLookup()
{
var store = new EntityStore();
var index = store.ComponentIndex<TileComponent,int>();
store.CreateEntity(new TileComponent{ tileId = 10 });
store.CreateEntity(new TileComponent{ tileId = 20 });
// lookup entities where component tileId = 10 in O(1)
var entities = index[10]; // Count: 1
// get all unique tileId's in O(1)
var values = index.Values; // { 10, 20 }
}Range query
Benchmark - Indexing
duplicateCount
duration ms
entities
Last updated