IEnumerator DoIncorrect(BreezeButton _button = null)
    {
        AudioManager.PlaySFX("incorrect");
        CorrectButton.targetGraphic.DOColor(Color.green, 0.5f).OnComplete(() => { CorrectButton.targetGraphic.color = Color.white; });
        if (_button != null)
        {
            _button.targetGraphic.DOColor(Color.red, 0.5f).OnComplete(() => { _button.targetGraphic.color = Color.white; });
        }

        yield return(new WaitForSeconds(0.75f));

        localstats.incorrect++;
        currentQuestion++;
        stats.questionIndex++;
        if (difficulty == DIFFICULTY.MARATHON)
        {
            lives--;
        }
        GenerateQuestion();
    }
    void SetupOptions(Question temp)
    {
        //Debug.Log(temp.correct_answer);
        switch (temp.type)
        {
        case "boolean":
            SetButtonText(buttons[0], "True");
            buttons[0].transform.SetAsFirstSibling();
            SetButtonText(buttons[1], "False");
            buttons[1].transform.SetAsLastSibling();
            EnableButton(buttons[2], false);
            EnableButton(buttons[3], false);

            RemoveAllButtonListeners();

            if (buttons[0].GetComponentInChildren <TextMeshProUGUI>().text == temp.correct_answer)
            {
                buttons[0].onClick.AddListener(CorrectAnswer);
                CorrectButton = buttons[0];
            }
            else
            {
                buttons[0].onClick.AddListener(() => { IncorrectAnswer(buttons[0]); });
            }
            if (buttons[1].GetComponentInChildren <TextMeshProUGUI>().text == temp.correct_answer)
            {
                buttons[1].onClick.AddListener(CorrectAnswer);
                CorrectButton = buttons[1];
            }
            else
            {
                buttons[1].onClick.AddListener(() => { IncorrectAnswer(buttons[1]); });
            }
            break;

        case "multiple":
            EnableAllButtons(true);

            SetButtonText(buttons[0], temp.incorrect_answers[0]);
            SetButtonText(buttons[1], temp.incorrect_answers[1]);
            SetButtonText(buttons[2], temp.incorrect_answers[2]);
            SetButtonText(buttons[3], temp.correct_answer);

            //Setup Actions
            RemoveAllButtonListeners();

            buttons[0].onClick.AddListener(() => { IncorrectAnswer(buttons[0]); });
            buttons[1].onClick.AddListener(() => { IncorrectAnswer(buttons[1]); });
            buttons[2].onClick.AddListener(() => { IncorrectAnswer(buttons[2]); });
            buttons[3].onClick.AddListener(CorrectAnswer);

            CorrectButton = buttons[3];
            foreach (var item in buttons)
            {
                item.transform.SetSiblingIndex(UnityEngine.Random.Range(0, buttons.Count));
            }
            //BreezeHelpers.ShuffleList(buttons);
            break;
        }
        SetButtonsInteractivity(true);
    }
    void IncorrectAnswer(BreezeButton _button = null)
    {
        SetButtonsInteractivity(false);

        StartCoroutine(DoIncorrect(_button));
    }