Axiom.ParticleFX.LinearForceAffector.AffectParticles C# (CSharp) Method

AffectParticles() public method

public AffectParticles ( ParticleSystem system, float timeElapsed ) : void
system ParticleSystem
timeElapsed float
return void
		public override void AffectParticles( ParticleSystem system, float timeElapsed )
		{
			Vector3 scaledVector = Vector3.Zero;

			if ( forceApp == ForceApplication.Add )
			{
				// scale force by time
				scaledVector = forceVector * timeElapsed;
			}

			// affect each particle
			for ( int i = 0; i < system.Particles.Count; i++ )
			{
				Particle p = (Particle)system.Particles[ i ];

				if ( forceApp == ForceApplication.Add )
				{
					p.Direction += scaledVector;
				}
				else
				{ // Average
					p.Direction = ( p.Direction + forceVector ) / 2;
				}
			}
		}