createEntity method
Implementation
Entity createEntity(Iterable<Component> components) {
final archetype = _archetypeManager.getArchetype(
components.map((c) => c.runtimeType),
);
final recycleBin = _recycleBin.putIfAbsent(archetype, () => {});
final recycled = recycleBin.isEmpty ? null : recycleBin.first;
final entity = recycled ?? _newEntity++;
if (recycled != null) {
recycleBin.remove(recycled);
_entityStats?.incrementRecycled();
}
_creationQueue.add((entity, components));
_entityStats?.updateCreationQueueSize(_creationQueue.length);
return entity;
}