示例#1
0
 void ComecarJogo()
 {
     btConfig.SetActive(true);
     btConfig.GetComponent <Animator>().Play("Aparecer");
     painelContador.SetActive(true);
     GerJogo.RecuperarCenario();
     Destruir();
 }
示例#2
0
 void CriarBloco()
 {
     textoAnimator.Play("Aparecer");
     texto2.text = mensagens [1].ToUpper();
     Falar();
     GerJogo.AdicionarNaGrade(1, 1, 0);
     proximoTempo = Time.time + 1.5f;
 }
示例#3
0
 void AparecerBlocoNegativo()
 {
     GerJogo.AdicionarNaGrade(2, -1, 15);
     textoAnimator.Play("Aparecer");
     texto2.text = mensagens [3].ToUpper();
     Falar();
     proximoTempo = Time.time + 3;
 }
示例#4
0
 void Aparecer()
 {
     GerJogo.GuardarCenario();
     podeClicar = false;
     teo.SetActive(true);
     texto.text = texto.text.ToUpper();
     teoAnimator.Play("Aparecer");
     proximoTempo = Time.time + tempoAteFalar;
     aparecendo   = true;
 }
示例#5
0
    public void Soltar()
    {
        if (Dados.tutorialCompleto == false &&
            Tutorial.podeInteragirBlocos == false)
        {
            return;
        }

        //Utilidade.DebugMensagem ("Soltou");
        GerJogo.SoltarObjeto(this);
    }
示例#6
0
 void DoisSub()
 {
     GerJogo.Limpar();
     esperandoJuntar     = true;
     podeInteragirBlocos = true;
     textoAnimator.Play("Aparecer");
     texto2.text = mensagens [9].ToUpper();
     Falar();
     GerJogo.AdicionarNaGrade(2, -1, 3);
     GerJogo.AdicionarNaGrade(2, -1, 12);
     proximoTempo = tempoRastro + Time.time;
 }
示例#7
0
 void BlocosIguais()
 {
     esperandoJuntar     = true;
     podeInteragirBlocos = true;
     //btRealizacoes.SetActive(false);
     textoAnimator.Play("Aparecer");
     texto2.text = mensagens [7].ToUpper();
     Falar();
     GerJogo.AdicionarNaGrade(1, 1, 15);
     GerJogo.AdicionarNaGrade(1, 1, 0);
     proximoTempo = tempoRastro + Time.time;
 }
示例#8
0
    static string CriarStringSalvar()
    {
        // Tempo de jogo
        string dados = "" + Dados.tempoTotalDeJogo;

        // Pontos
        dados += divisor + Dados.pontosAtuais;
        dados += divisor + Dados.quantidadeDeResets;
        dados += divisor + Dados.pontosTotaisReais;
        dados += divisor + Dados.tutorialCompleto;


        //Debug.Log("Salvando blocos...");
        // Objetos no cenário
        dados += divisor + GerJogo.PosicoesOcupadas();
        foreach (GerBotao bloco in GerJogo.objetos)
        {
            if (bloco == null)
            {
                continue;
            }

            dados += divisor + bloco.valor + divisor +
                     ((int)bloco.tipo) + divisor + bloco.posicaoGrade;

            /*
             * Debug.Log ("Tipo "+((int)bloco.tipo) +
             *         ", Valor "+bloco.valor +
             *         ", pos "+bloco.posicaoGrade );
             * //*/
        }
        //Debug.Log("Blocos salvos!");

        // Missões
        dados += divisor + Dados.missoes.Count;
        foreach (Missao m in Dados.missoes)
        {
            dados += divisor + (int)m.tipo;
            dados += divisor + m.Nivel();
        }

        // Realizações
        dados += divisor + Dados.realizacoes.Count;
        foreach (Realizacao r in Dados.realizacoes)
        {
            dados += divisor + r.indice;
            dados += divisor + r.completa;
            dados += divisor + r.dataCompleto.ToFileTime();
        }

        return(dados);
    }
示例#9
0
    public void TelaMenu()
    {
        if (podeTocar)
        {
            EfeitosSonoros.Tocar();
        }


        GerJogo.Salvar();
        //GerJogo.Limpar();

        Application.LoadLevel(Constantes.telaMenu);
    }
示例#10
0
    public void Saltar()
    {
        btMissoes.SetActive(true);
        btRealizacoes.SetActive(true);
        btMissoes.GetComponent <Animator>().Play("Aparecer");
        btRealizacoes.GetComponent <Animator>().Play("Aparecer");
        btConfig.SetActive(true);
        btConfig.GetComponent <Animator>().Play("Aparecer");
        painelContador.SetActive(true);
        texto.text     = "";
        texto.enabled  = false;
        texto2.text    = "";
        texto2.enabled = false;

        Dados.tutorialCompleto = true;
        GerJogo.RecuperarCenario();
    }
示例#11
0
    void Update()
    {
        if (Dados.tutorialCompleto || pronto == false)
        {
            return;
        }

        if (aparecendo)
        {
            if (Time.time > proximoTempo)
            {
                aparecendo = false;
                ProximoPasso();
                podeClicar = true;
            }
        }
        else if (reduzindo)
        {
            Vector2 vel = localTeo.position - teo.transform.position;
            teo.transform.Translate(
                vel * Time.deltaTime * 3 / tempoReduzir);
            if (Time.time > proximoTempo)
            {
                podeClicar = false;
                reduzindo  = false;
                teo.SetActive(false);
                painelFundo.enabled = false;
                teoAnimator         = teo2.GetComponent <Animator> ();
                texto.enabled       = false;
                //texto.gameObject.SetActive (false);
                //texto = texto2;
                textoAnimator = texto2.GetComponent <Animator> ();
                ProximoPasso();
            }
        }
        else if (passoAtual == 0 || passoAtual == 2)
        {
            if (Time.time > proximoTempo ||
                (Clique() && Time.time > tempoClicar))
            {
                ProximoPasso();
            }
        }
        else if (passoAtual >= 3 && passoAtual <= 6)
        {
            if (Time.time > proximoTempo)
            {
                ProximoPasso();
            }
        }
        else if (esperandoJuntar && passoAtual < 10)
        {
            if (GerJogo.PosicoesOcupadas() == 0)
            {
                esperandoJuntar     = false;
                podeInteragirBlocos = false;
                PararDeFalar();
                texto2.text = "";
                ProximoPasso();
            }
            else if (Time.time > proximoTempo)
            {
                CriarRastro();
                proximoTempo = tempoRastro + Time.time;
            }
        }
        else if (passoAtual >= 7 && passoAtual <= 12)
        {
            if (Time.time > proximoTempo)
            {
                ProximoPasso();
            }
        }
        else if (esperandoJuntar && passoAtual <= 17)
        {
            if (passoAtual == 15)
            {
                if (Time.time > proximoTempo)
                {
                    ProximoPasso();
                }
            }
            else if (GerJogo.PosicoesOcupadas() > 0)
            {
                if (GerJogo.PosicoesOcupadas() == 1)
                {
                    esperandoJuntar     = false;
                    podeInteragirBlocos = false;
                    PararDeFalar();
                    texto2.text = "";
                    ProximoPasso();
                }
                else if (Time.time > proximoTempo)
                {
                    CriarRastro();
                    proximoTempo = tempoRastro + Time.time;
                }
            }
        }
        else if (esperandoJuntar && passoAtual == 18)
        {
            if (GerJogo.PosicoesOcupadas() == 0)
            {
                esperandoJuntar     = false;
                podeInteragirBlocos = false;
                PararDeFalar();
                texto2.text = "";
                ProximoPasso();
            }
            else if (Time.time > proximoTempo)
            {
                CriarRastro();
                proximoTempo = tempoRastro + Time.time;
            }
        }
        else if (passoAtual <= 23)
        {
            if (Time.time > proximoTempo)
            {
                ProximoPasso();
            }
        }
    }
示例#12
0
    void Awake()
    {
        instancia = this;

        if (Dados.linguaAtual == 1)
        {
            objTutorial = objTutoPortugues;
        }
        else
        {
            objTutorial = objTutoIngles;
        }

        botaoBaseEstatico     = botaoBase;
        transformEstatico     = transform;
        painelRastrosEstatico = painelRastros;

        textoResetAsteriscosEstatico = textoResetAsteriscos;
        //textoResetValorEstatico = textoResetValor;

        intervaloMensagemListaCheia = intervaloMensagemDeListaCheia;

        ladoBotao = botaoBase.GetComponent <RectTransform>().sizeDelta.x;

        distanciaJuntar = distanciaPorcentagem * ladoBotao;

        qtdMaxima = gradePosicoes.Length;

        grade = new Vector3[qtdMaxima];

        /*
         * posicoesLivres.Clear();
         * if (posicoesLivres.Count == 0)
         * {
         *      for (int i = 0; i < qtdMaxima; i++)
         *      {
         *              grade[i] = gradePosicoes[i].localPosition;
         *              posicoesLivres.Add(i);
         *      }
         * }
         */
        for (int i = 0; i < qtdMaxima; i++)
        {
            grade[i] = gradePosicoes[i].localPosition;
            objetos.Add(null);
        }

        Utilidade.VerificarRecarregarIdiomas();
        GetComponent <MostrarRealizacoes>().Ativar();

        for (int i = 0; i < Dados.missoes.Count; i++)
        {
            switch (Dados.missoes[i].tipo)
            {
            case Missao.Tipo.Zerar:
                missaoZerar = i;
                break;

            case Missao.Tipo.Bloco:
                missaoBloco = i;
                break;

            case Missao.Tipo.Placar:
                missaoPlacar = i;
                break;

            case Missao.Tipo.Multiplicador:
                missaoMultiplicador = i;
                break;
            }
        }

#if UNITY_EDITOR
        if (resetarDadosAoIniciar)
        {
            PlayerPrefs.DeleteAll();
        }
#endif

        if (PlayerPrefs.GetString(Dados.nomeVersaoSalvar)
            == Dados.versaoSalvar)
        {
            Armazenador.CarregarDados();
            AjeitarResets();
        }
        else
        {
            PlayerPrefs.DeleteAll();

            PlayerPrefs.SetString(
                Dados.nomeVersaoSalvar,
                Dados.versaoSalvar);

            for (int i = 0; i < quantidadeInicial; i++)
            {
                AdicionarEmPosicaoAleatoria();
            }
        }

        tempoProximoBloco = Time.time + Dados.tempoCriarBlocos;
        proximoSalvar     = 0;

        if (Dados.tutorialCompleto == false ||
            Dados.refazerTutorial == true)
        {
            Dados.refazerTutorial  = false;
            Dados.tutorialCompleto = false;
            objTutorial.SetActive(true);
            objTutorial.GetComponent <Tutorial>().Comecar();
            proximoSalvar     = Time.time + 10;
            tempoProximoBloco = Time.time + 10;
        }
        else
        {
            objTutorial.SetActive(false);
        }

        Dados.tempoAnteriorDeJogo = Time.time;
    }
示例#13
0
    public static void CarregarDados()
    {
        string carregar = CarregarStringDeArquivo();

        if (string.IsNullOrEmpty(carregar))
        {
            return;
        }

        //Utilidade.DebugMensagem ("Dados Carregados: "+carregar);

        string [] dados = carregar.Split(divisor[0]);

        int objts       = 0;
        int indiceAtual = 0;

        // Tempo e pontos
        Dados.tempoTotalDeJogo   = ulong.Parse(dados[indiceAtual]);
        Dados.pontosAtuais       = int.Parse(dados[indiceAtual + 1]);
        Dados.quantidadeDeResets = ulong.Parse(dados[indiceAtual + 2]);
        Dados.pontosTotaisReais  = ulong.Parse(dados[indiceAtual + 3]);
        Dados.tutorialCompleto   = bool.Parse(dados[indiceAtual + 4]);

        indiceAtual += 5;

        // Objetos no cenário
        objts  = int.Parse(dados[indiceAtual]) * 3;
        objts += indiceAtual;
        indiceAtual++;

        while (indiceAtual < objts)
        {
            int valor = int.Parse(dados[indiceAtual]);
            int tipo  = int.Parse(dados[indiceAtual + 1]);
            int pos   = int.Parse(dados[indiceAtual + 2]);

            GerJogo.AdicionarNaGrade(tipo, valor, pos);
            //Debug.Log ("Tipo "+tipo + ", Valor "+valor + ", pos "+pos );
            indiceAtual += 3;
        }

        // Missões
        objts  = int.Parse(dados[indiceAtual]) * 2;
        objts += indiceAtual;
        indiceAtual++;

        while (indiceAtual < objts)
        {
            int indice = int.Parse(dados[indiceAtual]);
            int nivel  = int.Parse(dados[indiceAtual + 1]);

            foreach (Missao m in Dados.missoes)
            {
                if ((int)m.tipo == indice)
                {
                    m.Nivel(nivel);
                    m.AjeitarValores();
                }
            }
            indiceAtual += 2;
        }

        // Realizações
        objts  = int.Parse(dados[indiceAtual]) * 3;
        objts += indiceAtual;
        indiceAtual++;

        while (indiceAtual < objts)
        {
            int  indice   = int.Parse(dados[indiceAtual]);
            bool completo = bool.Parse(dados[indiceAtual + 1]);
            long data     = long.Parse(dados[indiceAtual + 2]);

            foreach (Realizacao r in Dados.realizacoes)
            {
                if (r.indice == indice)
                {
                    r.completa     = completo;
                    r.dataCompleto = System.DateTime.FromFileTime(data);
                    break;
                }
            }

            indiceAtual += 3;
        }
    }
示例#14
0
 public void Tutorial()
 {
     GerJogo.FazerTutorial();
 }