private void InstantiatePedestrian()
    {
        pedestrianPath          = pedestriansPaths[randomPathIndex];
        pedestrianStartPosition = spawningPoints[randomIndex].position;
        pedestrianStartRotation = spawningPoints[randomIndex].rotation;
        pedestrianType          = pedestrians[randomPedestrian];

        GameObject spawnedpedestrian = Instantiate(pedestrianType, pedestrianStartPosition, pedestrianStartRotation);

        spawnedpedestrian.gameObject.tag = "AIPedestrian";
        PedestrianAI pedestrianController = spawnedpedestrian.GetComponent <PedestrianAI>();

        pedestrianController.path = pedestrianPath;
        pedestriansCount++;
        randomPedestrian++;
        randomIndex++;
        randomPathIndex++;

        if (randomIndex == spawningPoints.Length)
        {
            randomIndex = 0;
        }

        if (randomPathIndex == pedestriansPaths.Length)
        {
            randomPathIndex = 0;
        }

        if (randomPedestrian == pedestrians.Length)
        {
            randomPedestrian = 0;
        }
    }
Example #2
0
    void Start()
    {
        if (asCar)
        {
            car.SetActive(false);
        }
        else
        {
            controller = GetComponent <PedestrianAI>();
        }

        lastAction = planning.actions[(int)WorldManager.timeOfDay];

        leftHome += livingPlace.lightDown;
        comeHome += livingPlace.lightUp;
        leftWork += workPlace.lightDown;
        comeWork += workPlace.lightUp;

        comeHome?.Invoke();

        /*Debug.Log(livingPlace);
         * Debug.Log(livingPlace.CarPosition);
         * Debug.Log(workPlace);
         * Debug.Log(workPlace.CarPosition);
         */

        /*if (asCar)
         * {
         *  // Way to work
         *  //List<Waypoint> aStarResult = AstarFinder.AStar(livingPlace.CarPosition, workPlace.CarPosition);
         *  List<Waypoint> aStarResult = await Task.Run(() => AstarFinder.AStar(livingPlace.CarPosition, workPlace.CarPosition));
         *
         *  if(aStarResult != null)
         *  {
         *      aStarResult.Reverse();
         *      roadToWork = aStarResult;
         *
         *      // way home
         *      aStarResult = await Task.Run(() => AstarFinder.AStar(workPlace.CarPosition, livingPlace.CarPosition));
         *
         *      if (aStarResult != null)
         *      {
         *          aStarResult.Reverse();
         *          roadToHome = aStarResult;
         *      }
         *      else
         *      {
         *          Kill();
         *      }
         *  }
         *  else Kill();
         * }*/
    }