addComponents method
Implementation
@override
void addComponents(Entity entity, Iterable<Component> components) {
for (var component in components) {
final factory = _componentArrayFactories[component.runtimeType];
if (factory == null) {
throw ArgumentError(
'No factory found for component type ${component.runtimeType}');
}
final componentType = component.runtimeType;
final previousComponent = _componentArrays[componentType]?[entity];
_componentArrays[componentType]?[entity] = component;
if (previousComponent != null) {
onComponentReplaced(entity, previousComponent, component);
} else {
onComponentAdded(entity, component);
}
}
}