Example #1
0
    /// <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);
        }
    }
Example #2
0
    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;
        }
    }