Esempio n. 1
0
    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;
    }
Esempio n. 2
0
    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;
    }