IEnumerator WriteTextfield(LevelScript.LevelEvent levelEvent) { stop = true; yield return(new WaitForSeconds(0.1f)); stop = false; textfield.text = ""; foreach (char letter in levelEvent.spokenText) { if (stop) { break; } textfield.text += letter; yield return(new WaitForSeconds(0.05f)); } if (levelEvent.title == "Decision") { int val = -1; while (val < 0) { if (Input.GetKey(KeyCode.Alpha1)) { val = 1; } if (Input.GetKey(KeyCode.Alpha2)) { val = 2; } if (Input.GetKey(KeyCode.Alpha3) && levelEvent.eventVal > 2) { val = 2; } yield return(new WaitForEndOfFrame()); } manager.StartExecutingEvents("decision_" + SequenceCount + "_" + val.ToString()); } manager.OnTriggerMove(0); yield break; }
public void Speak(LevelScript.LevelEvent levelEvent) { textFields.SetActive(true); textfield.text = ""; string expression = ""; switch (levelEvent.expression) { case LevelScript.Expression.none: expression = "none"; break; case LevelScript.Expression.happy: expression = "happy"; break; case LevelScript.Expression.angry: expression = "angry"; break; case LevelScript.Expression.annoyed: expression = "annoyed"; break; case LevelScript.Expression.sad: expression = "sad"; break; } Sprite face = Resources.Load <Sprite>("Faces/" + expression + "/" + levelEvent.focus); if (face) { faceField.transform.GetChild(0).GetComponent <Image>().sprite = face; faceField.SetActive(true); nameField.transform.GetChild(0).GetComponent <Text>().text = levelEvent.focus; } else { faceField.SetActive(false); nameField.SetActive(true); nameField.transform.GetChild(0).GetComponent <Text>().text = levelEvent.focus; } speakField.SetActive(true); gameObject.SetActive(true); StartCoroutine(WriteTextfield(levelEvent)); }