public override void InitParticle( Particle particle )
{
Vector3 xOff, yOff, zOff;
xOff = Utility.SymmetricRandom() * xRange;
yOff = Utility.SymmetricRandom() * yRange;
zOff = Utility.SymmetricRandom() * zRange;
particle.Position = position + xOff + yOff + zOff;
// Generate complex data by reference
GenerateEmissionColor( ref particle.Color );
GenerateEmissionDirection( ref particle.Direction );
GenerateEmissionVelocity( ref particle.Direction );
// Generate simpler data
particle.timeToLive = particle.totalTimeToLive = GenerateEmissionTTL();
}