@Override
	public void update(long delta)
	{
		int cPicker;
		int cRule;
		int sRule;
		int pRule;
		timeSince_ += delta;
		if(timeSince_ > MILLISECONDS_PER_PARTICLE)
		{
			Random r = new Random();
			double dist = r.nextDouble() * r_;
			double posAng = r.nextDouble() * 2 * Math.PI;
			double rotAng = r.nextDouble() * 2 * Math.PI;
			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)]);
			ExtraProperties p = new ExtraProperties();
			p.setValue(PosRuleFountain.KEY, String.valueOf(x_));
			float[] colors = RendererParticle.getCPicker(cPicker).pickColor();
			particles_.addParticle(new ParticleParameters(x_ + ((dist * Math.cos(posAng)) /2), y_ + ((dist * Math.sin(posAng)) / 2),
					rotAng, colors[0], colors[1], colors[2], colors[3], 5,
					cRule, sRule, pRule, p));
			timeSince_ -= MILLISECONDS_PER_PARTICLE;			
		}
	}