#region File Description //----------------------------------------------------------------------------- // SmokePlumeParticleSystem.cs // // Microsoft XNA Community Game Platform // Copyright (C) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- #endregion #region Using Statements using System; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; #endregion namespace Particle3DSample { /// /// Custom particle system for creating a giant plume of long lasting smoke. /// class SmokePlumeParticleSystem : ParticleSystem { public SmokePlumeParticleSystem(Game game, ContentManager content) : base(game, content) { } protected override void InitializeSettings(ParticleSettings settings) { 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; } } }