void InstanceButtons() { foreach (Transform child in transform) { if (child.CompareTag("Answer Button")) { ButtonAnswer buttonAnswer = child.GetComponent <ButtonAnswer>(); if (buttonAnswer) { buttons.Remove(buttonAnswer); } Destroy(child.gameObject); } } // Instance Buttons in its correct position float offsetX = -((answersSeparation * ((float)GameManager.instance.maxAnswers - 1f)) * 0.5f); Vector2 position = new Vector2(offsetX, 0); for (int i = 0; i < GameManager.instance.maxAnswers; ++i) { // Instantiate Button Back GameObject buttonBack = Instantiate(buttonBackPrefab, transform); buttonBack.GetComponent <RectTransform>().anchoredPosition = position; // Instantiate Button ButtonAnswer button = Instantiate(buttonPrefab, transform).GetComponent <ButtonAnswer>(); button.answersPanel = this; button.GetComponent <RectTransform>().anchoredPosition = position; button.ChangeText(GameManager.instance.answersList[i].ToString()); buttons.Add(button); position.x += answersSeparation; if (i == GameManager.instance.correctAnswerIndex) { correctButton = button; } } }
private IEnumerator ColorButtonCO(ButtonAnswer _buttonAnswer) { yield return(new WaitForSecondsRealtime(0.8f)); Color newColor = Color.white; if (_buttonAnswer.score.Equals(0)) { newColor = Color.red; } else if (_buttonAnswer.score.Equals(5)) { newColor = Color.yellow; } else if (_buttonAnswer.score.Equals(10)) { newColor = Color.green; } Image buttonImage = _buttonAnswer.GetComponent <Image>(); Color startColor = buttonImage.color; buttonImage.color = newColor; yield return(new WaitForSecondsRealtime(3f)); float step = 0; while (step < 1) { step += Time.deltaTime / 2; buttonImage.color = Color.Lerp(newColor, startColor, step); yield return(null); } }