Exemplo n.º 1
0
 /// <summary>
 /// If connected, get the screenshot file path from the python script over the socket and remove any invalid characters from the path.
 /// </summary>
 /// /// <param name="vehicle">The vehicle to create.</param>
 void Start()
 {
     if (Settings.IsBenchmark())
     {
         Debug.Log("Running Benchmark");
         SocketManager.GetInstance().SetSocket(new MockSocket());
         StartCoroutine(RunBenchmark());
     }
     if (SocketManager.GetInstance().Connect())
     {
         screenshotPath = string.Concat(SocketManager.GetInstance().ReceiveString().Replace('\\', '/').Split(System.IO.Path.GetInvalidPathChars()));
         TrafficLightManager.GetInstance().RefreshTrafficLightsAndJunctions();
         SocketManager.GetInstance().Send(TrafficLightManager.GetInstance().GetJunctions().Max(j => j.GetJunctionStates().Length) + "");
         StartCoroutine(MainLoop());
     }
     else
     {
         Debug.Log("Unable to connect to the Python Script. Running the demo instead.");
         if (SumoManager.GetInstance() == null || !SumoManager.GetInstance().IsConnected() || !SumoManager.GetInstance().IsControlledBySumo(SumoLinkControlPoint.TRAFFIC_LIGHTS))
         {
             TrafficLightManager.GetInstance().RunDemo();
         }
     }
     densityLengthConstant = FindObjectsOfType <Path>().Select(path => path.GetDistanceUntilDensityMeasurePointInKM()).Sum();
 }
Exemplo n.º 2
0
 public static void SetUpSumo(SumoManager sumoManager)
 {
     if (sumoManager == null)
     {
         return;
     }
     sumoManager.sumoControlSettings = config.sumoConfig.sumoControlSettings;
     sumoManager.ip   = config.sumoConfig.ip;
     sumoManager.port = config.sumoConfig.port;
 }
Exemplo n.º 3
0
    public override void Init()
    {
        //Debug.Log("Freeze Init");
        m_stateId         = FSMStateIDs.StateIds.FSM_SumoPlayer;
        CharacterAgent    = SMOwner.GetComponent <Agent>();
        CharacterRenderer = SMOwner.GetComponent <MeshRenderer>();

        SumoM = FindObjectOfType <SumoManager>();
        RB    = SMOwner.GetComponent <Rigidbody>();
    }
Exemplo n.º 4
0
    public override void Init()
    {
        //Debug.Log("CHASE Init");
        m_stateId         = FSMStateIDs.StateIds.FSM_NavSumoChase;
        CharacterAgent    = SMOwner.GetComponent <Agent>();
        CharacterRenderer = SMOwner.GetComponent <MeshRenderer>();
        Target            = SMOwner.Target;

        NA    = SMOwner.GetComponent <NavMeshAgent>();
        SumoM = FindObjectOfType <SumoManager>();
    }
Exemplo n.º 5
0
    public override void Init()
    {
        //Debug.Log("Ref Init");
        m_stateId         = FSMStateIDs.StateIds.FSM_NavSumoRef;
        CharacterAgent    = SMOwner.GetComponent <Agent>();
        CharacterRenderer = SMOwner.GetComponent <MeshRenderer>();
        Target            = SMOwner.Target;

        PointList = FindObjectsOfType <PointScoring>();
        SumoM     = FindObjectOfType <SumoManager>();
        NA        = SMOwner.GetComponent <NavMeshAgent>();
    }
Exemplo n.º 6
0
    public IEnumerator JSONParserTest()
    {
        yield return(null);

        DisableLoops();
        VehicleFactory vehicleFactory = (VehicleFactory)GameObject.FindObjectOfType(typeof(VehicleFactory));

        Assert.AreEqual(1, vehicleFactory.highRangeRespawnTime);
        Assert.AreEqual(1, vehicleFactory.lowRangeRespawnTime);
        Assert.AreEqual(1, vehicleFactory.maximumVehicleCount);
        Assert.AreEqual(1, vehicleFactory.slowDownVehicleRateAt);
        Assert.AreEqual(1, vehicleFactory.timeOfStartInvisibility);
        foreach (VehicleFactory.VehicleProbability vehicleProbability in vehicleFactory.vehicleProbabilities)
        {
            Assert.AreEqual(0.125, vehicleProbability.probability);
        }
        PedestrianFactory pedestrianFactory = (PedestrianFactory)GameObject.FindObjectOfType(typeof(PedestrianFactory));

        Assert.AreEqual(1, pedestrianFactory.highRangeRespawnTime);
        Assert.AreEqual(1, pedestrianFactory.lowRangeRespawnTime);
        Assert.AreEqual(1, pedestrianFactory.maximumPedestrianCount);
        foreach (PedestrianFactory.PedestrianProbability pedestrianProbability in pedestrianFactory.pedestrianProbabilities)
        {
            Assert.AreEqual(0.25, pedestrianProbability.probability);
        }
        SceneManager.LoadScene("Sumo");
        yield return(new WaitUntil(() => GameObject.FindObjectOfType(typeof(SumoManager)) != null));

        DisableLoops();
        SumoManager sumoManager = (SumoManager)GameObject.FindObjectOfType(typeof(SumoManager));

        Assert.AreEqual(12345, sumoManager.port);
        Assert.AreEqual("0.0.0.0", sumoManager.ip);
        SumoManager.SumoLinkControlPointObject sumoLinkControlPointObject = sumoManager.sumoControlSettings.Find(o => o.sumoLinkControlPoint == SumoLinkControlPoint.TRAFFIC_FLOW);
        Assert.AreEqual(true, sumoLinkControlPointObject.controlledBySumo);
    }
Exemplo n.º 7
0
 void Awake()
 {
     instance = this;
 }