private IEnumerator Tutorial() { // desabilita poluição da gui e prepara emTutorial = true; Time.timeScale = 0.5f; botaoPausa.SetActive(false); txtPontos.gameObject.SetActive(false); txtRecorde.transform.parent.gameObject.SetActive(false); string tmpNomeRecorde = txtNomeRecorde.text; int tmpRecorde = recorde; txtNomeRecorde.text = ""; ResetaPontos(); // apresenta como jogar yield return(StartCoroutine(PassoTutorial("toque na tela para ligar o hexágono em foco"))); // apresenta objetivo yield return(StartCoroutine(PassoTutorial("se os hexágonos ligados forem da mesma cor, você pontua"))); // espera a pessoa pontuar Avisa("tente pontuar!\nligue hexágonos da mesma cor", true); while (pontos < 2) { yield return(null); } Avisa("", false); yield return(new WaitForSeconds(0.5f)); // apresenta os pontos txtPontos.gameObject.SetActive(true); yield return(StartCoroutine(PassoTutorial("seus pontos aparecem lá em cima"))); // apresenta os recordes e coloca um recorde temporario recorde = 4; txtRecorde.text = (pontos - recorde - 1).ToString(); txtRecorde.transform.parent.gameObject.SetActive(true); yield return(StartCoroutine(PassoTutorial("os pontos que faltam para bater o recorde aparecem abaixo"))); // espera bater o recorde Avisa("bata o recorde!", true); while (pontos < 5) { yield return(null); } Avisa("", false); yield return(new WaitForSeconds(0.5f)); // apresenta os coringas Hexagono_Controlador.TodosSaoCoringas(true); yield return(StartCoroutine(PassoTutorial("hexagonos que mudam de cor são coringas"))); Hexagono_Controlador.TodosSaoCoringas(false); // apresenta o zoomout Avisa("toque na parte superior da tela para ter uma visão geral", true); esperandoAcao = true; while (esperandoAcao) { yield return(null); } Avisa("", false); yield return(new WaitForSeconds(0.5f)); // apresenta a pausa botaoPausa.SetActive(true); Avisa("toque nas barras lá em cima para pausar", true); while (Time.timeScale != 0) { yield return(null); } Avisa("", false); yield return(new WaitForSeconds(0.5f)); // finaliza Avisa("tutorial completo!"); // volta o jogo ao normal para continuar rodada // habilita essa parte se conseguir consertar os bugs que isso causa (provavelmente por causa dos coringas) //txtNomeRecorde.text = tmpNomeRecorde; recorde = tmpRecorde; //txtRecorde.text = tmpRecorde.ToString(); //Time.timeScale = 1; // inserir conquista emTutorial = false; PlayerPrefs.SetInt("tutorial", 1); // -- essa parte é temporaria pelo comentario de cima yield return(new WaitForSeconds(1.5f)); Reiniciar(); // -- }
private IEnumerator Tutorial() { // desabilita poluição da gui e prepara emTutorial = true; Time.timeScale = 0.5f; botaoPausa.SetActive(false); txtPontos.gameObject.SetActive(false); txtRecorde.transform.parent.gameObject.SetActive(false); ResetaPontos(); // apresenta como jogar yield return(StartCoroutine(PassoTutorial("Toque na tela para ligar o hexágono em foco"))); // apresenta objetivo yield return(StartCoroutine(PassoTutorial("Se os hexágonos ligados forem da mesma cor, você pontua"))); txtPontos.gameObject.SetActive(true); // espera a pessoa pontuar Avisa("Ligue hexágonos da mesma cor!\nFaça 5 pontos!", true); while (pontos < 5) { yield return(null); } Avisa("", false); yield return(new WaitForSeconds(0.5f)); // apresenta os pontos txtPontos.gameObject.SetActive(true); yield return(StartCoroutine(PassoTutorial("Seus pontos aparecem lá em cima"))); // apresenta os recordes e coloca um recorde temporario txtRecorde.transform.parent.gameObject.SetActive(true); yield return(StartCoroutine(PassoTutorial("Os pontos que faltam para bater o recorde aparecem abaixo"))); yield return(new WaitForSeconds(0.5f)); // apresenta os coringas Hexagono_Controlador.TodosSaoCoringas(true); yield return(StartCoroutine(PassoTutorial("Hexagonos que mudam de cor são coringas"))); Hexagono_Controlador.TodosSaoCoringas(false); // apresenta o zoomout Avisa("Toque na parte superior da tela para ter uma visão geral", true); esperandoAcao = true; while (esperandoAcao) { yield return(null); } Avisa("", false); yield return(new WaitForSeconds(0.5f)); // apresenta a pausa botaoPausa.SetActive(true); Avisa("Toque nas barras lá em cima para pausar", true); while (Time.timeScale != 0) { yield return(null); } Avisa("", false); yield return(new WaitForSeconds(0.5f)); // finaliza Avisa("Tutorial completo!"); // inserir conquista emTutorial = false; PlayerPrefs.SetInt("tutorial", 1); // -- essa parte é temporaria pelo comentario de cima yield return(new WaitForSeconds(1.5f)); Reiniciar(); // -- }