IEnumerator GenerateAnswers(Question question) { EraseAnswer(); int index, i, length; length = question.answersList.Length; if (length == 0) { throw new System.Exception("The question does not contain answers"); } randomAnswerIndexes = GetRandomAnswerIndexes(length); AnswerData obj = null; RectTransform objRect = null; content.sizeDelta = new Vector2(_head.rect.width, 0); for (i = 0; i < length; i++) { obj = Instantiate(answerPrefab, answersOptionsArea); answerButtons.Add(obj); index = randomAnswerIndexes[i]; obj.SetData(question.answersList[index].answerText, index); obj.ansverChoised += UpdateAnswers; } yield return(null); for (i = 0; i < answerButtons.Count; i++) { objRect = answerButtons[i].GetComponent <RectTransform>(); objRect.anchoredPosition = new Vector2(objRect.anchoredPosition.x, -i * (objRect.rect.height + buttonSpace)); content.sizeDelta = new Vector2(content.sizeDelta.x, (i + 1) * (objRect.rect.height + buttonSpace)); submitButtonPos.anchoredPosition = new Vector2(submitButtonPos.anchoredPosition.x, -(i + 1) * (objRect.rect.height + buttonSpace)); } content.sizeDelta = new Vector2(content.sizeDelta.x, content.sizeDelta.y + buttonSpace + submitButtonPos.rect.height); }