Exemplo n.º 1
0
    // 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;
    }
Exemplo n.º 2
0
 void Atirar(float pot = 0)
 {
     Controlar();
     if (som && Dados.somLigado)
     {
         som.Play();
     }
     atirador.Play(Dados.atiradorAtirando);
     CriarFaisca();
     CriarTiro(pot);
     Dados.bolasLancadasNestaFase++;
     ControleOndas.SobrevivenciaRebatedor();
 }
    public void Acertado(Vector2 direcao, int rebatidas = 0)
    {
        int pontos           = CalcularPontos();
        int pontosVelocidade = PontosPorVelocidade();

        //AtualizarPontosPorVelocidade(PontosPorVelocidade());

        int pontosRebatidas = AtualizarPontosPorRebatias(rebatidas);

        /*
         * if (Dados.modoDeJogo != ModosDeJogo.Normal)
         * {
         *      pontos *= Dados.jogoRapidoDificuldade;
         *      pontosVelocidade *= Dados.jogoRapidoDificuldade;
         *      pontosRebatidas *= Dados.jogoRapidoDificuldade;
         * }
         */

        CriarTextoFlutuante(
            pontos + pontosVelocidade, pontosRebatidas);

        ControleOndas.DerrubouPassante(
            passante,
            pontos + pontosRebatidas + pontosVelocidade);

        if (somAcertado && Dados.somLigado)
        {
            Instantiate(
                somAcertado,
                transform.position,
                transform.rotation);
        }

        GameObject pa = (GameObject)Instantiate(
            passanteCaindo,
            transform.position,
            Quaternion.identity);

        if (passante.direcao == Passante.Direcoes.ParaEsquerda)
        {
            pa.transform.localScale = new Vector3(
                -pa.transform.localScale.x,
                pa.transform.localScale.y,
                pa.transform.localScale.z);
        }

        pa.GetComponent <PassanteCaindo>().Criar(direcao);

        Destroy(gameObject);
    }
    void Passou()
    {
        if (somPassou && Dados.somLigado)
        {
            Instantiate(
                somPassou,
                transform.position,
                transform.rotation);
        }

        ControleOndas.Perder();

        Destroy(gameObject);
    }
Exemplo n.º 5
0
 // Métodos privados
 void Awake()
 {
     _instancia = this;
 }