Axiom.Demos.Water.ProcessRain C# (CSharp) Method

ProcessRain() protected method

protected ProcessRain ( ) : void
return void
		protected void ProcessRain()
		{
			foreach ( Particle p in particleSystem.Particles )
			{
				Vector3 ppos = p.Position;
				if ( ppos.y <= 0 && p.timeToLive > 0 )
				{
					// hits the water!
					p.timeToLive = 0.0f; // delete particle
					// push the water
					float x = ppos.x / PLANE_SIZE * CMPLX;
					float y = ppos.z / PLANE_SIZE * CMPLX;
					float h = (float)RAND.NextDouble() % RAIN_HEIGHT_RANDOM + RAIN_HEIGHT_CONSTANT * 2;
					if ( x < 1 )
						x = 1;
					if ( x > CMPLX - 1 )
						x = CMPLX - 1;
					if ( y < 1 )
						y = 1;
					if ( y > CMPLX - 1 )
						y = CMPLX - 1;
					waterMesh.PushDown( x, y, -h );
					//TODO: to implement WaterCircles, this is where you would create each new WaterCircle
				}
			}
		}