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; } }