// Update is called once per frame
    void Update()
    {
        timeRemaining -= Time.deltaTime;
        UpdateTimeRemainingDisplay();

        if (timeRemaining <= 0f)
        {
            if (learningQueue.Count > 0)
            {
                if (learningQueue.Count == 1)
                {
                    UnityEngine.Debug.Log("A Learning Phase Ended at " + DateTime.Now.ToString("h:mm:ss tt"));

                    Thread endALearningPhaseThread = new Thread(new ThreadStart(EndALearningPhase));
                    endALearningPhaseThread.Start();
                }

                UnityEngine.Debug.Log("learningQueue.Count = " + learningQueue.Count.ToString());
                ColorToLearnData colorToLearnData = (ColorToLearnData)learningQueue[0];
                learningQueue.RemoveAt(0);
                timeRemaining = colorToLearnData.timeToLearn;
                UpdateScreenForNewColor(colorToLearnData);
            }
            else
            {
                //blackFader.FadeToScreen("Questioning");
                UnityEngine.Debug.Log("Game Ended at " + DateTime.Now.ToString("h:mm:ss tt"));

                dataController.setLearning(false);
                SceneManager.LoadScene("Questioning");
            }
        }
    }
    private void UpdateScreenForNewColor(ColorToLearnData LearningData)
    {
        colorName.text = LearningData.colorName;

        Color32 backgroundColor = new Color32(
            LearningData.colorRGB[0],
            LearningData.colorRGB[1],
            LearningData.colorRGB[2],
            OBAQUE_VALUE);

        GameObject.Find("ColorPanel").GetComponent <RawImage>().color = backgroundColor;
    }