public void PickLine(DialogueMessage[] arrayOfLines) { if (gameObject.tag == "Enemy") { OnAnswerConfirmed.Invoke(arrayOfLines[UnityEngine.Random.Range(0, arrayOfLines.Length)]); } else if (gameObject.tag == "Player") { StartCoroutine(WaitForAnswer(arrayOfLines)); choosingMode = true; myCanvas.gameObject.SetActive(true); arrayOfLines.Shuffle(); for (int i = 0; i < arrayOfLines.Length; i++) { GameObject chosenButton = Instantiate(answerButton, new Vector2(0, 0), Quaternion.identity, myCanvas.transform); chosenButton.GetComponent <TextMeshProUGUI> ().text = arrayOfLines[i].dialogueMessage; if (i == 0) { chooseButton(chosenButton); } chosenButton.GetComponent <CanBeSelected> ().myDialogue = arrayOfLines[i]; listOfAnswers.Add(chosenButton); } StopCoroutine(WaitForAnswer(arrayOfLines)); currentID = 0; } }
private void confirmAnswer(DialogueMessage selectedAnswer) { if (OnAnswerConfirmed != null) { OnAnswerConfirmed.Invoke(selectedAnswer); choosingMode = false; foreach (var item in listOfAnswers) { Destroy(item); } listOfAnswers.Clear(); } }