public void ChoosePath(int _pathNumber) { anim = GetComponent<Animator>(); data = GameObject.Find("PathData").GetComponent<WayPointsData>(); PathToFollow = new List<List<GameObject>>(); if (randomSpeed) maxMoveSpeed = Random.Range(0.7f, maxMoveSpeed); moveSpeed = maxMoveSpeed; if (_pathNumber == 0) {//RIGHT PATH PathToFollow.Add(data.PR1); float split1 = Random.Range(0, 0.99f); if (split1 < 0.50f) {//RIGHT PATH FIRST UP PathToFollow.Add(data.PR2A); float split2 = Random.Range(0, 0.99f); if (split2 < 0.50f) {//RIGHT PATH SECOND UP DOWN PathToFollow.Add(data.PR3B); PathToFollow.Add(data.PR4); PathToFollow.Add(data.End); } else //RIGHT PATH SECOND STRAIGHT DOWN { PathToFollow.Add(data.PR3A1); PathToFollow.Add(data.PR3A2); PathToFollow.Add(data.PR4); PathToFollow.Add(data.End); } } //RIGHT PATH FIRST DOWN else { PathToFollow.Add(data.PR2B1); PathToFollow.Add(data.PR2B2); PathToFollow.Add(data.PR3A2); PathToFollow.Add(data.PR4); PathToFollow.Add(data.End); } } else { //LEFT PATH PathToFollow.Add(data.PL1); float split1 = Random.Range(0, 0.99f); //LEFT PATH FIRST LEFT if (split1 < 0.50f) { PathToFollow.Add(data.PL2B); PathToFollow.Add(data.PL3A2); PathToFollow.Add(data.End); } //LEFT PATH FIRST RIGHT else { PathToFollow.Add(data.PL2A); float split2 = Random.Range(0, 0.99f); if (split2 < 0.50f) //LEFT PATH SECOND UP { PathToFollow.Add(data.PL3A1); PathToFollow.Add(data.PL3A2); PathToFollow.Add(data.End); } else //LEFT PATH SECOND DOWN { PathToFollow.Add(data.PL3B); PathToFollow.Add(data.PR2B2); PathToFollow.Add(data.PR3A2); PathToFollow.Add(data.PR4); PathToFollow.Add(data.End); } } } currentPath = PathToFollow[currentPathNumber]; SetAnim(); pathChosen = true; }
public void ChoosePath(int _pathNumber) { anim = GetComponent <Animator>(); data = GameObject.Find("PathData").GetComponent <WayPointsData>(); PathToFollow = new List <List <GameObject> >(); if (randomSpeed) { maxMoveSpeed = Random.Range(0.7f, maxMoveSpeed); } moveSpeed = maxMoveSpeed; if (_pathNumber == 0) {//RIGHT PATH PathToFollow.Add(data.PR1); float split1 = Random.Range(0, 0.99f); if (split1 < 0.50f) {//RIGHT PATH FIRST UP PathToFollow.Add(data.PR2A); float split2 = Random.Range(0, 0.99f); if (split2 < 0.50f) {//RIGHT PATH SECOND UP DOWN PathToFollow.Add(data.PR3B); PathToFollow.Add(data.PR4); PathToFollow.Add(data.End); } else //RIGHT PATH SECOND STRAIGHT DOWN { PathToFollow.Add(data.PR3A1); PathToFollow.Add(data.PR3A2); PathToFollow.Add(data.PR4); PathToFollow.Add(data.End); } } //RIGHT PATH FIRST DOWN else { PathToFollow.Add(data.PR2B1); PathToFollow.Add(data.PR2B2); PathToFollow.Add(data.PR3A2); PathToFollow.Add(data.PR4); PathToFollow.Add(data.End); } } else { //LEFT PATH PathToFollow.Add(data.PL1); float split1 = Random.Range(0, 0.99f); //LEFT PATH FIRST LEFT if (split1 < 0.50f) { PathToFollow.Add(data.PL2B); PathToFollow.Add(data.PL3A2); PathToFollow.Add(data.End); } //LEFT PATH FIRST RIGHT else { PathToFollow.Add(data.PL2A); float split2 = Random.Range(0, 0.99f); if (split2 < 0.50f) //LEFT PATH SECOND UP { PathToFollow.Add(data.PL3A1); PathToFollow.Add(data.PL3A2); PathToFollow.Add(data.End); } else //LEFT PATH SECOND DOWN { PathToFollow.Add(data.PL3B); PathToFollow.Add(data.PR2B2); PathToFollow.Add(data.PR3A2); PathToFollow.Add(data.PR4); PathToFollow.Add(data.End); } } } currentPath = PathToFollow[currentPathNumber]; SetAnim(); pathChosen = true; }