// Update is called once per frame void Update() { timer += Time.deltaTime; if (index < text.Length && timer >= speed) { //print next char if (posx > maxX) { posx = 0; posy -= spacing; } if (text[index] != ' ') { GameObject g = ggd.getCharacter(text[index]); GameObject ginst = GameObject.Instantiate(g); ginst.transform.position = new Vector2(transform.position.x + posx, transform.position.y + posy); printed.Add(ginst); } timer = 0; index += 1; posx += spacing; audio.playVoice(voice, transform.position); } else if (index >= text.Length) { done = true; } }