public IEnumerator PedestrianFullWalkTest() { DisableLoops(); DisableVehicles(); foreach (Pedestrian p in GameObject.FindObjectsOfType <Pedestrian>()) { GameObject.Destroy(p); } foreach (PedestrianCrossing pedestrianCrossing in PedestrianManager.GetInstance().GetPedestrianCrossings()) { pedestrianCrossing.SetAllowCrossing(true); } PedestrianFactory pedestrianFactory = GameObject.FindObjectOfType <PedestrianFactory>(); pedestrianFactory.SpawnPedestrian(); yield return(new WaitForSeconds(1)); Pedestrian pedestrian = GameObject.FindObjectOfType <Pedestrian>(); pedestrian.GetComponent <NavMeshAgent>().speed = 5; pedestrian.SetAllowCrossing(true); while (true) { yield return(new WaitForSeconds(1)); if (pedestrian == null) { break; } else { pedestrian.GetComponent <NavMeshAgent>().speed = 5; } } }
public void SetJunctionState(JunctionState junctionState) { this.currentState = junctionState.GetStateNumber(); foreach (JunctionState.TrafficLightState trafficLightState in junctionState.GetTrafficLightStates()) { TrafficLightManager.GetInstance().GetTrafficLight(trafficLightState.GetTrafficLightId()).SetColour(trafficLightState.GetLightColour()); } if (junctionState.GetPedestrianCrossingStates() != null) { foreach (JunctionState.PedestrianCrossingState pedestrianCrossingState in junctionState.GetPedestrianCrossingStates()) { PedestrianManager.GetInstance().GetPedestrianCrossing(pedestrianCrossingState.GetPedestrianCrossingId()).SetAllowCrossing(pedestrianCrossingState.AllowCrossing()); } } }