/// <summary> /// 长出新枝 /// </summary> /// <param name="branch"></param> void branch(GameObject branch) { isRotating = false; rotateToggle.isOn = false; BiangTree tree = branch.transform.parent.gameObject.GetComponent <BiangTree>(); StartCoroutine(tree.generateChildBranch(branch, tree.interateScaleRatio, 1)); }
//更改出枝概率后对tree类进行刷新 void refreshProbabilities(BiangTree bt) { for (int j = 0; j < bnSliders.Length; j++) { bt.BranchNum_probabilites[j] = (int)(bnSliders[j].value * 100) + 1; } for (int j = 0; j < btsSliders.Length - 1; j++) { bt.BranchDecay_probabilites[j + 1] = (int)(btsSliders[j].value * 100) + 1; } bt.InitializeProbabilities(); }
/// <summary> /// 创造森林 /// </summary> void createForest() { for (int i = 0; i < TreeNum; i++) { GameObject Tree = Instantiate(Tree_Prefab, Forest.transform); Tree.transform.position = new Vector3(TreeDistance * ratio * 4 * (i - TreeNum / 2), 0, 0); BiangTree bt = Tree.GetComponent <BiangTree>(); biangTrees.Add(bt); bt.BranchNum_probabilites = new int[bnSliders.Length]; bt.BranchDecay_probabilites = new int[btsSliders.Length + 1]; bt.BranchDecay_probabilites[0] = 0; refreshProbabilities(bt); bt.Initialize(); } }