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; } }
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(); * }*/ }