Esempio n. 1
0
        public GameObject CheckPointOnTheRight(GameObject target, GameObject lastOne)
        {
            Street currentStreet = FindStreetFromCheckPoint(target, lastOne);

            bool direction = false;

            if (currentStreet.CheckPointIndex(target) == 1)
            {
                direction = true;
            }

            int           checkPointIntersect = 1;
            List <Street> intersectStreet     = new List <Street>();

            if (!direction)
            {
                checkPointIntersect = 0;
            }
            foreach (Street street in streets)
            {
                if (street == currentStreet)
                {
                    continue;
                }
                if (street.ContentCheckPoint(currentStreet.points[checkPointIntersect]))
                {
                    intersectStreet.Add(street);
                }
            }

            if (intersectStreet.Count == 0)
            {
                return(null);
            }
            else
            {
                foreach (Street street in intersectStreet)
                {
                    if (currentStreet.IsOnTheRight(street, checkPointIntersect))
                    {
                        return(street.OtherCheckPoint(currentStreet.points[checkPointIntersect]));
                    }
                }
                Debug.Log("Cant found one in the right");
                return(null);
            }
        }