/// <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; }
private void LoadParticleSettings() { ParticleSystemSettings settings = new ParticleSystemSettings(); settings.Capacity = 100; settings.Duration = TimeSpan.FromSeconds(.5f); settings.DurationRandomness = 0; settings.GlobalForce = Vector3.Zero; settings.MinForceSensitivity = 0.75f; settings.MaxForceSensitivity = 1; settings.InertiaSensitivity = 1; settings.MinStartHorizontalVelocity = -600; settings.MaxStartHorizontalVelocity = 600; settings.MinStartVerticalVelocity = -600; settings.MaxStartVerticalVelocity = 600; settings.MinEndHorizontalVelocity = 20; settings.MaxEndHorizontalVelocity = 20; settings.MinEndVerticalVelocity = 20; settings.MaxEndVerticalVelocity = 20; settings.MinStartSize = 1; settings.MaxStartSize = 1; settings.MinEndSize = 1; settings.MaxEndSize = 1; settings.MinRotateSpeed = 0; settings.MaxRotateSpeed = 50; settings.MinColor = Color.DarkGray; settings.MaxColor = Color.Gray; settings.SourceBlend = Blend.SourceAlpha; settings.DestinationBlend = Blend.One; Texture2D texture = content.Load<Texture2D>("explosion"); particles = new ParticleSystem(texture, settings); }