public void PickedQuestion(int questionChoice)
    {
        player.GetComponent <PlayerController>().blockMovement = false;

        foreach (Button b in buttons)
        {
            b.gameObject.SetActive(false);
        }
        if (currentDialogueContainer is QuestionDialogueContainer)
        {
            QuestionDialogueContainer questionDialogueContainer = (QuestionDialogueContainer)currentDialogueContainer;
            questionDialogueContainer.questionButtons[questionChoice].questionAsked = true;
            if (questionDialogueContainer.questionButtons[questionChoice].nextDialogueContainer != null)
            {
                StartDialogue(questionDialogueContainer.questionButtons[questionChoice].nextDialogueContainer);
            }
        }
        else
        {
            SpecialQuestionDialogueContainer specDialogueContainer = (SpecialQuestionDialogueContainer)currentDialogueContainer;
            specDialogueContainer.questionButtons[questionChoice].questionAsked = true;
            if (specDialogueContainer.questionButtons[questionChoice].nextDialogueContainer != null)
            {
                StartDialogue(specDialogueContainer.questionButtons[questionChoice].nextDialogueContainer);
            }
        }
    }
    public void DisplaySpecial(SpecialQuestionDialogueContainer specDialogue)
    {
        if (specDialogue.questionButtons.Length > buttons.Length)
        {
            throw new System.ArgumentException("The number of questions exceed the number of buttons available.");
        }

        float yOffSet = 30 * (specDialogue.questionButtons.Length - 1);

        for (int i = 0; i < specDialogue.questionButtons.Length; i++)
        {
            if (specDialogue.questionButtons[i].questionAsked == true)
            {
                buttons[i].GetComponent <Image>().color = Color.gray;
            }
            else
            {
                buttons[i].GetComponent <Image>().color = Color.white;
            }
            buttons[i].GetComponent <RectTransform>().anchoredPosition = new Vector2(0, yOffSet);
            buttons[i].GetComponentInChildren <Text>().text            = specDialogue.questionButtons[i].text;
            buttons[i].GetComponent <Button>().onClick.RemoveAllListeners();

            switch (i)
            {
            case 0:
                buttons[i].onClick.AddListener(() => { SpecialQuestionAnswer(0); });
                break;

            case 1:
                buttons[i].onClick.AddListener(() => { SpecialQuestionAnswer(1); });
                break;

            case 2:
                buttons[i].onClick.AddListener(() => { SpecialQuestionAnswer(2); });
                break;

            case 3:
                buttons[i].onClick.AddListener(() => { SpecialQuestionAnswer(3); });
                break;

            case 4:
                buttons[i].onClick.AddListener(() => { SpecialQuestionAnswer(4); });
                break;

            default:
                buttons[i].onClick.AddListener(() => { SpecialQuestionAnswer(10); });
                break;
            }
            buttons[i].gameObject.SetActive(true);
            yOffSet -= 60;
        }
    }