示例#1
0
 public void CarregarTelaSobrevivencia()
 {
     //CarregarTela(Telas.Jogo_Sobrevivencia);
     Dados.modoDeJogo = ModosDeJogo.Sobrevivencia;
     CarregarTela(Telas.Jogo);
     ControleMusica.MusicaSobrevivencia();
 }
    void Awake()
    {
        if (_instancia != null && _instancia != this)
        {
            DestroyImmediate(gameObject);
            return;
        }
        _instancia = this;

        DontDestroyOnLoad(gameObject);

        AudioSource [] audi = GetComponents <AudioSource>();

        if (audi != null)
        {
            if (audi.Length > 0)
            {
                musica      = audi[0];
                musica.loop = true;
            }
            if (audi.Length > 1)
            {
                som      = audi[1];
                som.loop = false;
            }
            else
            {
                Debug.LogWarning("O controlador de musica" +
                                 "precisa de 2 componentes AudioSource!");
            }
        }
    }
示例#3
0
 public void IniciarSobrevivencia()
 {
     Debug.Log("Iniciou sobrevivencia");
     Dados.jogoRapidoDificuldade = 1;
     Dados.modoDeJogo            = ModosDeJogo.Sobrevivencia;
     Navegacao.CarregarTelaEstatico(Telas.Jogo);
     ControleMusica.MusicaSobrevivencia();
 }
示例#4
0
    public void CarregarProximaFase()
    {
        //*
        if (Dados.faseAtual < 8)
        {
            if (Dados.estatisticas.mundos[Dados.mundoAtual]
                .fases.Count > Dados.faseAtual + 1 &&

                Dados.estatisticas.mundos[Dados.mundoAtual].
                fases[Dados.faseAtual + 1].completo == false)
            {
                if (!VerificarGastarMaca(false))
                {
                    MensagemMacaNaoTem();
                    return;
                }
            }
        }
        //*/

        //Dados.modoDeJogo = ModosDeJogo.Normal;
        ControleMusica.ContinuarMusica();

        if (Dados.estatisticas.mundos[Dados.mundoAtual]
            .fases.Count > Dados.faseAtual + 1)
        {
            if (Dados.estatisticas.mundos[Dados.mundoAtual]
                .fases[Dados.faseAtual + 1].completo)
            {
                CarregarTelaEscolherFases();
            }
            else
            {
                CarregarJogoFase(Dados.faseAtual + 1);
            }
        }
        else
        {
            if (Dados.estatisticas.mundos[Dados.mundoAtual]
                .completo == false)
            {
                CarregarTelaEscolherFases();
            }
            else
            {
                if (Dados.mundoAtual < Dados.totalDeMundos - 1)
                {
                    Dados.mundoAtual++;
                    CarregarTelaEscolherFases();
                }
                else
                {
                    CarregarTelaModoJogo();
                }
            }
        }
    }
    void PerdeuSobrevivencia()
    {
        Dados.estatisticas.sobrevivencia
        .Pontuar(Dados.sobrevivenciaPontosTotais);

        Utilidade.SalvarDados();

        ControleMusica.Derrota();
        navegador.CarregarTela(Telas.Jogo_Sobrevivencia_Fim, false);
    }
    // Métodos públicos
    public void Inicializar(
        List <Onda> oc, List <Onda> ob)
    {
        _instancia = this;

        ondasCima  = oc;
        ondasBaixo = ob;

        faseCompleta        = false;
        perdeu              = false;
        atualCima           = 0;
        atualBaixo          = 0;
        derrubadosCima      = 0;
        derrubadosBaixo     = 0;
        totalDerrubados     = 0;
        terminouCima        = false;
        terminouBaixo       = false;
        esperandoAcabarFase = false;

        Dados.pontosUltimaFase            = 0;
        Dados.pontosUltimaFasePassantes   = 0;
        Dados.pontosUltimaFasePerfeita    = 0;
        Dados.pontosUltimaFaseRebatidas   = 0;
        Dados.pontosUltimaFaseDificuldade = 0;
        Dados.pontosUltimaFaseVelocidade  = 0;
        Dados.pontosUltimaFaseBonus       = 0;
        Dados.pontosUltimaFaseOnus        = 0;

        Dados.bolasLancadasNestaFase         = 0;
        Dados.bolaRebatidasTotaisFase        = 0;
        Dados.rebatedoresDestruidosNestaFase = 0;

        ponteDeBaixo.SetActive(Dados.ponteBaixo);

        tempoProximoCima =
            Time.time + Dados.passantesTempoEntre;

        tempoProximoBaixo =
            Time.time + Dados.passantesTempoEntre * 2;

        Dados.margemEsquerda = GameObject.FindGameObjectWithTag(
            Dados.tagMargemEsquerda).transform.position.x;

        ControleMusica.MusicaJogar();

        InicializarAnalytics();

        painelTempo.SetActive(
            Dados.modoDeJogo != ModosDeJogo.Normal);

        tempoInicial = Time.time;
    }
    // Métodos públicos
    public void TelaMenu()
    {
        ControleMusica.MusicaMenu();

        if (podeMover == false)
        {
            podeMover = true;
            return;
        }

        PrepararMovimento(0, 0);

        Navegacao.CarregarTelaEstatico(Telas.Menu);
    }
    void PerderNaFase()
    {
        //GerenciadorUnityAds.ShowRewardedAd();

        EnviarAnalyticsPerder();

        switch (Dados.modoDeJogo)
        {
        case ModosDeJogo.Normal:
            Dados.estatisticas
            .mundos[Dados.mundoAtual]
            .fases[Dados.faseAtual]
            .Pontuar(Dados.pontosUltimaFase, true);

            Utilidade.SalvarDados();

            ControleMusica.Derrota();
            navegador.CarregarTela(Telas.Jogo_Normal_Derrota, false);
            break;

        case ModosDeJogo.JogoRapido:
        case ModosDeJogo.Sobrevivencia:

            Utilidade.AdicionarMacasPorPontos(Dados.pontosUltimaFase);
            //Debug.Log ("Pontos ultima fase "+Dados.pontosUltimaFase);

            Dados.estatisticas.jogoRapido
            .Pontuar(Dados.pontosUltimaFase,
                     Dados.jogoRapidoDificuldade, true);

            Utilidade.SalvarDados();

            ControleMusica.Derrota();
            //navegador.CarregarTela(Telas.Jogo_Rapido_Derrota, false);
            navegador.CarregarTela(Telas.Jogo_Rapido_Vitoria, false);
            break;

        //case ModosDeJogo.Sobrevivencia:
        //	PerdeuSobrevivencia();
        //	break;
        default:
            navegador.CarregarTelaMenu();
            break;
        }
    }
    // Métodos Privados
    void Awake()
    {
        _instancia = this;

        mostradorDePontos.Carregar();

        ControleMusica.MusicaMenu();

        deslocamentoPorTela.x = Screen.width;
        deslocamentoPorTela.y = Screen.height;
        deslocamentoPorTela.z = 0;

        foreach (RectTransform trans in paineisEsquerda)
        {
            float x = Camera.main.ScreenToWorldPoint(new Vector2(
                                                         -deslocamentoPorTela.x + Screen.width / 2, 0)).x;

            trans.position = new Vector3(
                x, trans.position.y, trans.position.z);
        }
        foreach (RectTransform trans in paineisDireita)
        {
            float x = Camera.main.ScreenToWorldPoint(new Vector2(
                                                         deslocamentoPorTela.x + Screen.width / 2, 0)).x;

            trans.position = new Vector3(
                x, trans.position.y, trans.position.z);
        }

        Utilidade.CarregarDados();

        Recarregar();
        //TelaMenu();

        //mostrou = false;
        //proximoTempoAd = Time.time + tempoEsperarAd;

        if (enviouAnalyticsAoComecar == false)
        {
            enviouAnalyticsAoComecar = true;
            UnityAnalytics.EnviarPontosMaisTocados();
        }
    }
    void CompletarFase()
    {
        /*
         * if (Dados.modoDeJogo == ModosDeJogo.Sobrevivencia)
         * {
         *      CompletarOnda();
         *      return;
         * }
         * //*/

        Dados.pontosUltimaFasePerfeita    = PontosFasePerfeita();
        Dados.pontosUltimaFaseDificuldade = PontosDificuldade();
        Dados.pontosUltimaFaseOnus        = CalcularPenalidades();

        Dados.pontosUltimaFaseBonus =
            Dados.pontosUltimaFaseRebatidas +
            Dados.pontosUltimaFaseVelocidade +
            Dados.pontosUltimaFaseDificuldade;

        Dados.pontosUltimaFase =
            Dados.pontosUltimaFasePassantes +
            Dados.pontosUltimaFasePerfeita +
            Dados.pontosUltimaFaseBonus -
            Dados.pontosUltimaFaseOnus;

        /*
         * Debug.Log("Pontuação final:\n"+
         *        "Passantes: "+Dados.pontosUltimaFasePassantes+"\n"+
         *        "Bônus: "+Dados.pontosUltimaFaseBonus+"\n"+
         *        "Ônus: "+Dados.pontosUltimaFaseOnus+"\n"+
         *        "Perfeita: "+Dados.pontosUltimaFasePerfeita+"\n"+
         *        "Dificuldade: "+Dados.pontosUltimaFaseDificuldade+"\n"+
         *        "Velocidade: "+Dados.pontosUltimaFaseVelocidade+"\n"+
         *        "Rebatidas: "+Dados.pontosUltimaFaseRebatidas+"\n"+
         *        "");
         * //*/

        EnviarAnalyticsVencer();

        Debug.Log("Pontos ultima fase: " + Dados.pontosUltimaFase);

        switch (Dados.modoDeJogo)
        {
        case ModosDeJogo.Normal:

            if (Dados.pontosUltimaFase > 0)
            {
                //GooglePlay.Pontuar(
                //	LeaderBoards.ModoNormal, Dados.pontosUltimaFase);
            }

            if (Dados.estatisticas.mundos[Dados.mundoAtual]
                .fases[Dados.faseAtual].completo == false)
            {
                Utilidade.AdicionarMacasPorQuantidade(1);
                UnityAnalytics.GanhouMaca(false, 1);
            }

            bool perfect =
                Dados.bolasLancadasNestaFase <= totalDerrubados;

            Dados.estatisticas.mundos[Dados.mundoAtual]
            .fases[Dados.faseAtual]
            .Completou(Dados.pontosUltimaFase, perfect);

            Debug.Log("Estatisticas: \n" +
                      "Pontos Agora:  " + Dados.pontosUltimaFase + "\n" +
                      "Pontos Melhor: " + Dados.estatisticas.mundos[Dados.mundoAtual].fases[Dados.faseAtual].melhorPontuacao + "\n" +
                      "Perfect:       " + Dados.estatisticas.mundos[Dados.mundoAtual].fases[Dados.faseAtual].perfect + "\n" +
                      "");

            Dados.estatisticas.mundos[Dados.mundoAtual]
            .VerificarFasesCompletas();

            Dados.estatisticas.VerificarMundosExtras();

            Utilidade.SalvarDados();

            ControleMusica.Vitoria();
            navegador.CarregarTela(Telas.Jogo_Normal_Vitoria, false);
            break;

        case ModosDeJogo.JogoRapido:
        case ModosDeJogo.Sobrevivencia:

            //GerenciadorUnityAds.ShowRewardedAd();
            if (Dados.pontosUltimaFase > 0)
            {
                /*
                 * GooglePlay.Pontuar(
                 *      (LeaderBoards)
                 *      (Dados.jogoRapidoDificuldade - 1),
                 *      Dados.pontosUltimaFase);
                 */
            }

            Utilidade.AdicionarMacasPorPontos(Dados.pontosUltimaFase);

            Dados.estatisticas.jogoRapido
            .Pontuar(Dados.pontosUltimaFase,
                     Dados.jogoRapidoDificuldade);

            Utilidade.SalvarDados();

            ControleMusica.Vitoria();
            navegador.CarregarTela(Telas.Jogo_Rapido_Vitoria, false);
            break;

        default:
            navegador.CarregarTelaMenu();
            break;
        }
    }