protected override void InitializeSettings(ParticleSettings settings) { settings.TextureName = "fire"; settings.MaxParticles = 2400; settings.Duration = TimeSpan.FromSeconds(2); settings.DurationRandomness = 1; settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 15; settings.MinVerticalVelocity = -10; settings.MaxVerticalVelocity = 10; // Set gravity upside down, so the flames will 'fall' upward. settings.Gravity = new Vector3(0, 15, 0); settings.MinColor = new Color(255, 255, 255, 10); settings.MaxColor = new Color(255, 255, 255, 40); settings.MinStartSize = 5; settings.MaxStartSize = 10; settings.MinEndSize = 10; settings.MaxEndSize = 40; // Use additive blending. settings.BlendState = BlendState.Additive; }
protected override void InitializeSettings(ParticleSettings settings) { settings.TextureName = "explosion"; settings.MaxParticles = 100; settings.Duration = TimeSpan.FromSeconds(2); settings.DurationRandomness = 1; settings.MinHorizontalVelocity = 20; settings.MaxHorizontalVelocity = 30; settings.MinVerticalVelocity = -20; settings.MaxVerticalVelocity = 20; settings.EndVelocity = 0; settings.MinColor = Color.DarkGray; settings.MaxColor = Color.Gray; settings.MinRotateSpeed = -1; settings.MaxRotateSpeed = 1; settings.MinStartSize = 7; settings.MaxStartSize = 7; settings.MinEndSize = 70; settings.MaxEndSize = 140; // Use additive blending. settings.BlendState = BlendState.Additive; }
/// <summary> /// Derived particle system classes should override this method /// and use it to initalize their tweakable settings. /// </summary> protected abstract void InitializeSettings(ParticleSettings settings);