void Update() { if (running) { if (currentTypewriter == null) { if (currentSentence < sentences.Length) { currentTypewriter = Instantiate(typewriterPrefab, canvas).GetComponent <Typewriter>(); sentence = sentences[currentSentence++]; currentTypewriter.Setup(sentence.text, sentence.Speed, sentence.MaxPitch, sentence.MinPitch, sentence.Voice); } else { running = false; SystemsController.RunningDialogue(running); if (currentDialogue.OnEndDialogue != null) { currentDialogue.OnEndDialogue.Invoke(); } } } else { if (sentence.origin != null) { currentTypewriter.transform.position = cam.WorldToScreenPoint(sentence.origin.position); } else { // system message } if (currentTypewriter.Done) { if (Input.GetMouseButtonDown(0)) { Destroy(currentTypewriter.gameObject); currentTypewriter = null; } } else { if (Input.GetMouseButtonDown(0)) { currentTypewriter.JumpToEnd(); } } } } }