public void PlayWordGame(WordGameData wordGameData)
 {
     for (int i = 0; i < buttonList.Length; i++)
     {
         buttonList[i].interactable = false;
     }
     StartCoroutine(WordGameCoroutine(wordGameData));
 }
 IEnumerator WordGameCoroutine(WordGameData wordGameData)
 {
     for (int i = 0; i < wordGameData.wordGameRows.Length; i++)
     {
         string[] buttonRowString = { wordGameData.wordGameRows[i].words[0], wordGameData.wordGameRows[i].words[1], wordGameData.wordGameRows[i].words[2] };
         buttonRow.SetRow(buttonRowString);
         for (int j = 0; j < buttonList.Length; j++)
         {
             buttonList[j].GetComponent <Image>().color = normalColor;
             buttonList[j].interactable = true;
         }
         mainPanel.SetActive(true);
         currentAnswerIndex = wordGameData.wordGameRows[i].correctOption;
         awaitingInput      = true;
         while (awaitingInput)
         {
             yield return(null);
         }
         yield return(new WaitForSeconds(2));
     }
     onGameComplete?.Raise();
     yield return(null);
 }