public void CreateCreatures() { for (int i = 0; i < variations; i++) { // Mutate the genome GenomeT genome = bestGenome.Clone(); genome.Mutate(); // Instantiate the creature Vector3 position = Vector3.zero + distance * i; GameObject obj = Instantiate(prefab, position, Quaternion.identity, container.transform); CreatOrig creature = obj.transform.GetChild(0).GetChild(0).GetComponent <CreatOrig>(); creature.genome = genome; creatures.Add(creature); } }
//thread to track best creature (Alan) IEnumerator trackBestT() { while (tut.running) { if (Camera.main.GetComponent <MoveCam>().lockon) { if (tut.creatures.Count > 0) { List <CreatOrig> sort = tut.creatures.OrderByDescending(o => o.CurScore()).ToList(); CreatOrig best = sort[0]; bestCreat = best.transform; prevPos = Camera.main.transform.position; camz = prevPos.z; } } else { bestCreat = null; } yield return(new WaitForSeconds(2)); } }