protected override void InitializeSettings(ParticleSettings settings) { settings.ParticleName = customSettings.ParticleName; settings.TextureName = customSettings.TextureName; settings.MaxParticles = customSettings.MaxParticles; settings.Duration = customSettings.Duration; settings.DurationRandomness = customSettings.DurationRandomness; settings.MinHorizontalVelocity = customSettings.MinHorizontalVelocity; settings.MaxHorizontalVelocity = customSettings.MaxHorizontalVelocity; settings.MinVerticalVelocity = customSettings.MinVerticalVelocity; settings.MaxVerticalVelocity = customSettings.MaxVerticalVelocity; settings.Gravity = customSettings.Gravity; settings.MinColor = customSettings.MinColor; settings.MaxColor = customSettings.MaxColor; settings.MinStartSize = customSettings.MinStartSize; settings.MaxStartSize = customSettings.MaxStartSize; settings.MinEndSize = customSettings.MinEndSize; settings.MaxEndSize = customSettings.MaxEndSize; settings.BlendState = customSettings.BlendState; }
protected override void InitializeSettings(ParticleSettings settings) { settings.ParticleName = "SmokePlume"; settings.TextureName = "smoke"; settings.MaxParticles = 600; settings.Duration = TimeSpan.FromSeconds(10); settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 15; settings.MinVerticalVelocity = 10; settings.MaxVerticalVelocity = 20; // Create a wind effect by tilting the gravity vector sideways. settings.Gravity = new Vector3(-20, -5, 0); settings.EndVelocity = 0.75f; settings.MinRotateSpeed = -1; settings.MaxRotateSpeed = 1; settings.MinStartSize = 4; settings.MaxStartSize = 7; settings.MinEndSize = 35; settings.MaxEndSize = 140; }
protected override void InitializeSettings(ParticleSettings settings) { settings.ParticleName = "ExplosionSmoke"; settings.TextureName = "smoke"; settings.MaxParticles = 200; settings.Duration = TimeSpan.FromSeconds(4); settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 50; settings.MinVerticalVelocity = -10; settings.MaxVerticalVelocity = 50; settings.Gravity = new Vector3(0, -20, 0); settings.EndVelocity = 0; settings.MinColor = Color.LightGray; settings.MaxColor = Color.White; settings.MinRotateSpeed = -2; settings.MaxRotateSpeed = 2; settings.MinStartSize = 7; settings.MaxStartSize = 7; settings.MinEndSize = 70; settings.MaxEndSize = 140; }
protected override void InitializeSettings(ParticleSettings settings) { settings.ParticleName = "Fire"; 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.ParticleName = "Explosion"; 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; }
protected override void InitializeSettings(ParticleSettings settings) { settings.ParticleName = "ProjectileTrail"; settings.TextureName = "smoke"; settings.MaxParticles = 1000; settings.Duration = TimeSpan.FromSeconds(3); settings.DurationRandomness = 1.5f; settings.EmitterVelocitySensitivity = 0.1f; settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 1; settings.MinVerticalVelocity = -1; settings.MaxVerticalVelocity = 1; settings.MinColor = new Color(64, 96, 128, 255); settings.MaxColor = new Color(255, 255, 255, 128); settings.MinRotateSpeed = -4; settings.MaxRotateSpeed = 4; settings.MinStartSize = 1; settings.MaxStartSize = 3; settings.MinEndSize = 4; settings.MaxEndSize = 11; }
public ParticleInit(ParticleManager pm , Game game, ContentManager content) { ParticleSettings settings = new ParticleSettings(); settings.ParticleName = "Soins"; settings.TextureName = "Star"; settings.MaxParticles = 2400; settings.Duration = TimeSpan.FromSeconds(2); settings.DurationRandomness = 0.51f; settings.MinHorizontalVelocity = 1; settings.MaxHorizontalVelocity = 1; settings.MinVerticalVelocity = -0; settings.MaxVerticalVelocity = -2.5f; // Set gravity upside down, so the flames will 'fall' upward. settings.Gravity = new Vector3(0, 1, 0); settings.MinColor = new Color(200, 200, 0, 255); settings.MaxColor = new Color(255, 250, 250, 0); settings.MinStartSize = 0.5f; settings.MaxStartSize = 1f; settings.MinEndSize = 0.01f; settings.MaxEndSize = 0.01f; // Use additive blending. settings.BlendState = BlendState.AlphaBlend; CustomParticle cp = new CustomParticle(settings, game, content); cp.Initialize(); pm.Add(cp); settings = new ParticleSettings(); settings.ParticleName = "Freeze"; settings.TextureName = "Snow"; settings.MaxParticles = 4800; settings.Duration = TimeSpan.FromSeconds(4); settings.DurationRandomness = 0.51f; settings.MinHorizontalVelocity = -1; settings.MaxHorizontalVelocity = 1; settings.MinVerticalVelocity = -2.5f; settings.MaxVerticalVelocity = 2.5f; // Set gravity upside down, so the flames will 'fall' upward. settings.Gravity = new Vector3(0, 0, 0); settings.MinColor = new Color(200, 230, 200, 0); settings.MaxColor = new Color(255, 255, 255, 255); settings.MinStartSize = 0.01f; settings.MaxStartSize = 0.01f; settings.MinEndSize = 0.1f; settings.MaxEndSize = 0.1f; // Use additive blending. settings.BlendState = BlendState.AlphaBlend; cp = new CustomParticle(settings, game, content); cp.Initialize(); pm.Add(cp); settings = new ParticleSettings(); settings.ParticleName = "Snow"; settings.TextureName = "Snow"; settings.MaxParticles = 16000; settings.Duration = TimeSpan.FromSeconds(5); settings.DurationRandomness = 0f; settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 0f; settings.MinVerticalVelocity = 0; settings.MaxVerticalVelocity = 00f; // Set gravity upside down, so the flames will 'fall' upward. settings.Gravity = new Vector3(rnd.Next(-10, 10), -40, rnd.Next(-10, 10)); settings.MinColor = new Color(200, 230, 200, 0); settings.MaxColor = new Color(255, 255, 255, 0); settings.MinStartSize = 0.25f; settings.MaxStartSize = 0.25f; settings.MinEndSize = 0.25f; settings.MaxEndSize = 0.25f; // Use additive blending. settings.BlendState = BlendState.AlphaBlend; cp = new CustomParticle(settings, game, content); cp.Initialize(); pm.Add(cp); settings = new ParticleSettings(); settings.ParticleName = "Rain"; settings.TextureName = "Water001"; settings.MaxParticles = 16000; settings.Duration = TimeSpan.FromSeconds(5); settings.DurationRandomness = 0f; settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 0f; settings.MinVerticalVelocity = 0; settings.MaxVerticalVelocity = 00f; // Set gravity upside down, so the flames will 'fall' upward. settings.Gravity = new Vector3(0, -40, 0); settings.MinColor = new Color(200, 230, 200, 0); settings.MaxColor = new Color(255, 255, 255, 0); settings.MinStartSize = 0.25f; settings.MaxStartSize = 0.25f; settings.MinEndSize = 0.25f; settings.MaxEndSize = 0.25f; // Use additive blending. settings.BlendState = BlendState.AlphaBlend; cp = new CustomParticle(settings, game, content); cp.Initialize(); pm.Add(cp); }
public CustomParticle(ParticleSettings settings, Game game, ContentManager content) : base(game, content) { customSettings = settings; }
/// <summary> /// Derived particle system classes should override this method /// and use it to initalize their tweakable settings. /// </summary> protected abstract void InitializeSettings(ParticleSettings settings);