コード例 #1
0
    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;
            }
        }
    }
コード例 #2
0
 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());
         }
     }
 }