public void ChickenTalk(string text, OnTalkComplete onComplete) { talking = true; chiefPanel.SetActive(false); chickenText.text = ""; StartCoroutine(TypeText(text, onComplete)); }
public void AskQuestion(Question question, OnTalkComplete onComplete) { chickenPanel.SetActive(true); if (talking) { return; } ChickenTalk(question.questionText, onComplete); for (int i = 0; i < responseText.Length; i++) { string response = question.GetResponseIndex(i); responseText[i].text = response; responseText[i].transform.parent.gameObject.SetActive(response != ""); } }
IEnumerator TypeText(string remainingText, OnTalkComplete onComplete) { yield return(new WaitForSeconds(textTypeSpeed)); string characterTxt = remainingText[0] + ""; remainingText = remainingText.Remove(0, 1); chickenText.text += characterTxt; if (remainingText.Length > 0) { StartCoroutine(TypeText(remainingText, onComplete)); } else { talking = false; chiefPanel.SetActive(true); if (onComplete != null) { onComplete(); } } }