/// <summary>
/// Internal method for creating a new affector from a factory.
/// </summary>
/// <remarks>
/// Used internally by the engine to create new ParticleAffector instances from named
/// factories. Applications should use the ParticleSystem.AddAffector method instead,
/// which calls this method to create an instance.
/// </remarks>
/// <param name="emitterType">string name of the affector type to be created. A factory of this type must have been registered.</param>
internal ParticleAffector CreateAffector(string affectorType)
{
ParticleAffectorFactory factory = (ParticleAffectorFactory)affectorFactoryList[affectorType];
if (factory == null)
{
throw new AxiomException("Cannot find requested affector '{0}'.", affectorType);
}
return(factory.Create());
}