/// <summary> /// Create a new particle effect, based on parameters stored in ParticleEffectData.xml /// </summary> /// <param name="effectKey">string identifier used to fetch parameters. Must match Name attribute in XML</param> public ParticleEffect(string effectKey) { try { ParticleEffectData data = DataManager.GetData<ParticleEffectData>(effectKey); if (data.ParticleGenerators.Count() > 0) { _generators = new ParticleGenerator[data.ParticleGenerators.Length]; for (int i = 0; i < _generators.Length; i++) { _generators[i] = new ParticleGenerator(data.ParticleGenerators[i]); } } else { _generators = new ParticleGenerator[1]; _generators[0] = new ParticleGenerator(effectKey); } } catch (DataManagerException) { _generators = new ParticleGenerator[1]; _generators[0] = new ParticleGenerator(effectKey); } IntensityFactor = 1.0f; }
/// <summary> /// Create a new particle effect, based on parameters stored in ParticleEffectData.xml /// </summary> /// <param name="effectKey">string identifier used to fetch parameters. Must match Name attribute in XML</param> public ParticleEffect(string effectKey) { if (Data.ContainsKey(effectKey)) { ParticleEffectData data = Data[effectKey]; _generators = new ParticleGenerator[data.ParticleGenerators.Length]; for (int i = 0; i < _generators.Length; i++) { _generators[i] = new ParticleGenerator(data.ParticleGenerators[i]); } } else { _generators = new ParticleGenerator[1]; _generators[0] = new ParticleGenerator(effectKey); } IntensityFactor = 1.0f; }