/// <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(); }
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; }
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>(); }
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>(); }
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>(); }
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); }
void Awake() { instance = this; }