private void SetupLimbs() { var numBranches = ChromosomeComposition.GetBranchCount(); ChromosomeComposition.SetNumberOfBranches(numBranches); var angXDrive = new JointDrive { mode = JointDriveMode.Position }; for (var i = 0; i < numBranches; i++) { _limbs = ChromosomeComposition.GetLimbList(i); var actualLimbs = new List <GameObject>(); var effects = new List <GameObject>(); for (var j = 0; j < _limbs.Count; j++) { Limb limbScript; var limb = SetupSubLimb(i, j, actualLimbs, angXDrive, out limbScript); effects.Add(Resources.Load("Prefabs/particles01") as GameObject); effects.Add(Resources.Load("Prefabs/particles02") as GameObject); effects.Add(Resources.Load("Prefabs/particles03") as GameObject); if (j == _limbs.Count - 1) { var fx = effects[Random.Range(0, effects.Count - 1)]; Instantiate(fx, limb.transform.position, limb.transform.rotation).transform.parent = limb.transform; if (TypeOfCreature == "Herbiverous" ? Instantiate(effects[1], limb.transform.position, limb.transform.rotation).transform.parent = limb.transform : Instantiate(effects[0], limb.transform.position, limb.transform.rotation).transform.parent = limb.transform) { ; } } _allLimbs.Add(limbScript); } } }