/// <summary> /// Created a new particle Emitter. By default all particles come from position. /// </summary> /// <param name="_settings">A fully specified ParticleEmitterSettings object.</param> public ParticleEmitter(ParticleEmitterSettings _settings) { if (_settings.Initialized) { LoadParticleEmitterSettings(_settings); } else { LoadParticleEmitterSettings(RendererAssetPool.ParticleEmitterSettings["Sample"]); } }
private static void LoadEmitterSettings() { string dir = Path.Combine(System.Reflection.Assembly.GetExecutingAssembly().Location, "../Content/resources/particleEmitterSettings"); DirectoryInfo di = new DirectoryInfo(dir); FileInfo[] files = di.GetFiles("*.vtpes"); foreach (System.IO.FileInfo file in files) { StreamReader read = new StreamReader(file.FullName); ParticleEmitterSettings peset = new ParticleEmitterSettings(); peset.Load(read); read.Close(); RendererAssetPool.ParticleEmitterSettings.Add(Path.GetFileNameWithoutExtension(file.Name), peset); } }
/// <summary> /// Created a new particle Emitter. By default all particles come from position...? /// </summary> /// <param name="_settings">A fully specified ParticleEmitterSettings object.</param> public ParticleEmitter(ParticleEmitterSettings _settings, Vector3 position) : this(_settings) { this.position = position; }
/// <summary> /// Loads the ParticleEmitterSettings object. /// </summary> /// <param name="_settings">The name of the ParticleEmitterSettings object to load from the RendererAssetPool</param> private void LoadParticleEmitterSettings(ParticleEmitterSettings _settings) { settings = _settings; if (RendererAssetPool.ParticleSystemSettings.ContainsKey(settings.ParticleSystemName)) { particles = new ParticleSystem(Renderer.RendererAssetPool.ParticleSystemSettings[settings.ParticleSystemName]); } else { particles = new ParticleSystem(Renderer.RendererAssetPool.ParticleSystemSettings["Sample"]); } random = new Random(); bounds = new BoundingSphere(position, settings.Radius); emitting = true; stopped = false; }