private bool AllDead() { foreach (GameObject c in cars) { CarManager2 m = c.GetComponent(typeof(CarManager2)) as CarManager2; if (m.isEnabled()) { return(false); } } return(true); }
// Update is called once per frame void Update() { //The boxes should jump if the sphere is cose to origo // if (AllDead()) // { for (int i = 0; i < car_inst; i++) { CarManager2 m = cars[i].GetComponent(typeof(CarManager2)) as CarManager2; // int ind = rng.Next (0, Positions.Length); // m.Restart (Positions[ind],Rotations[ind]); double d = rng.NextDouble(); if (!m.isEnabled()) { m.Restart(Positions[i], d > 0.5 ? Rotations[i] : Alt_Rotations[i]); } } // } episode = EpisodeController.getEpisode(); }
private GUIStyle guiStyle = new GUIStyle(); //create a new variable void OnGUI() { guiStyle.fontSize = 48; //change the font size GUI.Label(new Rect(10, 10, 100, 200), "Episode: " + episode, guiStyle); if (GUI.Button(new Rect(10, 100, 50, 30), "Save")) { Debug.Log("SAVED"); this.QtargetNetwork.write("QTargetNetwork"); this.Qnetwork.write("QNetwork"); } if (GUI.Button(new Rect(10, 140, 50, 30), "Load")) { Debug.Log("LOADED"); this.QtargetNetwork.read("QTargetNetwork"); this.Qnetwork.read("QNetwork"); for (int i = 0; i < car_inst; i++) { CarManager2 m = cars[i].GetComponent(typeof(CarManager2)) as CarManager2; m.epsilon = m.epsilon_min; Debug.Log("Epsilon set to: " + m.epsilon); } //EpisodeController.epsilon = 0.1f; //EpisodeController.epsilon_min = 0.1f; } if (GUI.Button(new Rect(10, 180, 70, 30), "Obstacle")) { Debug.Log("OBSTACLE"); int index = rng.Next(0, numobstacles); // obstacles[index] = (GameObject) Instantiate(Obstacle,OPositions[index],ORotations[index]); } if (GUI.Button(new Rect(10, 220, 70, 30), "Add Car")) { // int index = rng.Next (0, numobstacles); // obstacles[index] = (GameObject) Instantiate(Obstacle,OPositions[index],ORotations[index]); //set the epsilon to the existing cars epsilon if (car_inst < numcars) { Debug.Log("Car added."); double d = rng.NextDouble(); cars[car_inst] = (GameObject)Instantiate(CarFab, Positions[car_inst], d > 0.5 ? Rotations[car_inst] : Alt_Rotations[car_inst]); CarManager2 m = cars[car_inst].GetComponent(typeof(CarManager2)) as CarManager2; m.epsilon = m.epsilon_min; m.SetMLP(this.Qnetwork, this.QtargetNetwork); cars[car_inst].name = "CloneCar" + car_inst; car_inst++; } } if (GUI.Button(new Rect(10, 260, 70, 30), "Restart")) { Debug.Log("RESTART"); for (int i = 0; i < car_inst; i++) { CarManager2 m = cars[i].GetComponent(typeof(CarManager2)) as CarManager2; m.Die(); double d = rng.NextDouble(); if (!m.isEnabled()) { m.Restart(Positions[i], Rotations[i]); } } } if (GUI.Button(new Rect(10, 300, 70, 30), "Test Mode")) { Debug.Log("Test mode"); for (int i = 0; i < car_inst; i++) { CarManager2 m = cars[i].GetComponent(typeof(CarManager2)) as CarManager2; m.test_mode = !m.test_mode; Debug.Log("Test mode: " + m.test_mode); } } }