//GameObject[] FindClosestFlowerGroup(int groupSize) //{ // GameObject[] group = new GameObject[groupSize]; // GameObject startFlower = flower[0]; // group[0] = startFlower; // flower.RemoveAt(0); // for (int i = 1; i < groupSize; i++) // { // float closestDist = float.MaxValue; // int closestIndex = -1; // for (int j = 0; j < flower.Count; j++) // { // float currDist = (startFlower.transform.position - flower[j].transform.position).sqrMagnitude; // if (currDist < closestDist) // { // closestDist = currDist; // closestIndex = j; // } // } // group[i] = flower[closestIndex]; // flower.RemoveAt(closestIndex); // } // return group; //} public GameObject SpawnTree(NormalTreeGenerationData treeGenData, bool findGround) { GameObject instance = Instantiate(generatedNormalTreePrefab); instance.GetComponent <NormalTree>().Generate( Random.Range(treeGenData.widthRange.x, treeGenData.widthRange.y) , Random.Range(treeGenData.heightRange.x, treeGenData.heightRange.y) , new Vector3(0.75f, 0.75f, 0.75f) , treeGenData.radius , treeGenData.segmentHeight , treeGenData.childLevels , Random.Range(treeGenData.branchesAmountRange.x, treeGenData.branchesAmountRange.y) , Random.Range(treeGenData.nestedTreeAmountRange.x, treeGenData.nestedTreeAmountRange.y)); trees.Add(instance.GetComponent <Tree>()); if (findGround) { PlaceOnTerrainOnRandomPos(instance.transform); } return(instance); }
void SpawnTrees() { for (int i = 0; i < NewWorldData.countDictionary[TerrainSettingType.NormalTree]; i++) { NormalTreeGenerationData treeGenData = new NormalTreeGenerationData { widthRange = defaultTreeWidthFromTo , heightRange = defaultTreeHeightFromTo , radius = Random.Range(1.0f, 1.5f) , segmentHeight = 1.6f , childLevels = 1 , branchesAmountRange = NormalTree.GetDefaultTreeBrachesAmount() , nestedTreeAmountRange = NormalTree.GetDefaultTreeNestedTreesAmount() }; SpawnTree(treeGenData, true); } for (int i = 0; i < NewWorldData.countDictionary[TerrainSettingType.TallTree]; i++) { SpawnTallTree(true); } for (int i = 0; i < NewWorldData.countDictionary[TerrainSettingType.ChristmasTree]; i++) { SpawnChristmasTree(true); } }