protected virtual void EndGeneration() { Generation currentGeneration = generations.Last.Value; Debug.Log(String.Format("Generation ended, fitness {0}s", currentGeneration.BestFitness())); avgFitness = (avgFitness * (generations.Count - 1) + currentGeneration.BestFitness()) / generations.Count; if (bestFitness < currentGeneration.BestFitness()) { bestFitness = currentGeneration.BestFitness(); } if (infoTxt != null) { infoTxt.text = String.Format( "Last Fit {0:0.00}s, Avg Fit {1:0.00}s Best Fit {2:0.00}s", currentGeneration.BestFitness(), avgFitness, bestFitness ); } Invoke("StartGeneration", 3); }