Exemplo n.º 1
0
    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();
        // --
    }
Exemplo n.º 2
0
    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();
        // --
    }