/// <summary> /// Initializes the camera views of the race screen. /// </summary> /// <param name="carCameras">The textures to which each car-view camera renders, ordered by car index.</param> /// <param name="raceCamera">The texture to which the race cameras render.</param> public void SetCameras(Texture[] carCameras, Texture raceCamera) { this.numCars = carCameras.Length; foreach (RaceCameraView cameraView in this.cameraViews) { cameraView.gameObject.SetActive(false); } for (int i = 0; i < carCameras.Length; i++) { RaceCameraView carCameraView = GetCameraView(i); carCameraView.Image.texture = carCameras[i]; carCameraView.Image.color = RaceScreen.disabledScreenColor; carCameraView.Text.text = RaceScreen.awaitingConnectionMessage; carCameraView.gameObject.SetActive(true); } // We only have space for the race camera if there are 3 or less cars if (this.numCars <= 3) { RaceCameraView raceCameraView = GetCameraView(this.numCars); raceCameraView.Image.texture = raceCamera; raceCameraView.Text.text = string.Empty; raceCameraView.gameObject.SetActive(true); } }
public override void UpdateConnectedPrograms(bool[] connectedPrograms) { int index = 0; foreach (bool isConnected in connectedPrograms) { RaceCameraView view = GetCameraView(index); if (isConnected) { view.Image.color = Color.white; view.Text.text = string.Empty; } else { view.Image.color = RaceScreen.disabledScreenColor; view.Text.text = RaceScreen.awaitingConnectionMessage; } index++; } // Any remaining screens beyond the end of the array are not connected for (; index < this.numCars; index++) { RaceCameraView view = GetCameraView(index); view.Image.color = RaceScreen.disabledScreenColor; view.Text.text = RaceScreen.awaitingConnectionMessage; } }