@Override
	public void update(long delta)
	{
		int cPicker;
		int cRule;
		int sRule;
		int pRule;
		timeSince_ += delta;
		while(timeSince_ > MILLISECONDS_PER_PARTICLE)
		{
			Random r = new Random();
			while(!cPickers[cPicker = r.nextInt(cPickers.length)])
			{
				;
			}
			while(!cRules[cRule = r.nextInt(cRules.length)])
			{
				;
			}
			while(!sRules[sRule = r.nextInt(sRules.length)])
			{
				;
			}
			while(!pRules[pRule = r.nextInt(pRules.length)])
			{
				;
			}
			float[] colors = RendererParticle.getCPicker(cPicker).pickColor();
			particles_.addParticle(new ParticleParameters(x_, y_, r.nextDouble() * 2 * Math.PI, colors[0],
					colors[1], colors[2], colors[3], SIZE, cRule, sRule,
					pRule, new ExtraProperties()));
			timeSince_ -= MILLISECONDS_PER_PARTICLE;			
		}
	}