Esempio n. 1
0
    public void AtualizaTextosDeNivel(int i)
    {
        textoNumeroDeNivel.text = "Nivel " + (i).ToString();
        if (RecompensaPorNivel.RecompensaDoNivel(i).textoParaPainel != "")
        {
            textoDeInfo.text = RecompensaPorNivel.RecompensaDoNivel(i).textoParaPainel;
        }
        else
        {
            imagemDeInfo.enabled = false;
            textoDeInfo.enabled  = false;
        }

        if (ControladorGlobal.c != null)
        {
            int meuNivel = ControladorGlobal.c.DadosGlobais.PerfilAtualSelecionado.NivelJogador.Nivel;
            if (meuNivel >= i)
            {
                textoDeInfo.color        = new Color(0.34f, 0.93f, 1f);
                textoNumeroDeNivel.color = new Color(1, 0.93f, 0.44f);
            }

            if (meuNivel <= i)
            {
                imagemXP.enabled = false;
            }


            textoXP.text = ControladorGlobal.c.DadosGlobais.PerfilAtualSelecionado.NivelJogador.CalculaPassaNivelInicial(i, true).ToString();
        }
    }
Esempio n. 2
0
    // Update is called once per frame
    void Update()
    {
        switch (fase)
        {
        case FasesDoPassaNivel.customizarMostrador:

            if (SceneManager.GetActiveScene().name == "niveis_plus" || SceneManager.GetActiveScene().name == "niveis")
            {
                ModificadorDoContainerPrincipal.DesligarBotoes(FindObjectOfType <Canvas>().gameObject);
                CustomizeMostradorDeNiveis();
            }
            break;

        case FasesDoPassaNivel.mostrarNiveisGanhos:
            contadorDeTempo += Time.deltaTime;
            if (contadorDeTempo > TEMPO_PARA_INICIAR && !invocou)
            {
                for (int i = nivelDeSaida; i < nivelAlvo; i++)
                {
                    if ((nivelAlvo - nivelDeSaida) * TEMPO_DE_INTERVALO_ENTRE_MOSTRA_NIVEIS < TEMPO_MAX_PARA_MOSTRAR_NIVEIS)
                    {
                        StartCoroutine(MostrarNivelGanho(i, (i - nivelDeSaida) * TEMPO_DE_INTERVALO_ENTRE_MOSTRA_NIVEIS));
                        //Invoke("MostrarNivelGanho", i * TEMPO_DE_INTERVALO_ENTRE_MOSTRA_NIVEIS);
                    }
                    else
                    {
                        StartCoroutine(MostrarNivelGanho(i, (TEMPO_MAX_PARA_MOSTRAR_NIVEIS / (nivelAlvo - nivelDeSaida))));
                    }
                    RecompensaPorNivel.RecompensaDoNivel(i + 1).AcaoDaRecompensa();
                    ControladorGlobal.c.DadosGlobais.SalvarSeNaoForTesteDeCena();
                }

                invocou = true;
            }

            if (contadorDeTempo > TEMPO_MAX_PARA_MOSTRAR_NIVEIS)
            {
                bool continua = true;
                for (int i = nivelDeSaida; i < nivelAlvo; i++)
                {
                    continua &= !RecompensaPorNivel.RecompensaDoNivel(i + 1).tenhoAlgoParaMostrar;
                }

                if (continua)
                {
                    fase = FasesDoPassaNivel.meDestroir;
                }
                else
                {
                    fase = FasesDoPassaNivel.mostrarOsAlgoMais;
                }
            }
            break;

        case FasesDoPassaNivel.mostrarOsAlgoMais:
            bool seguir = true;
            for (int i = nivelDeSaida; i < nivelAlvo; i++)
            {
                if (RecompensaPorNivel.RecompensaDoNivel(i + 1).tenhoAlgoParaMostrar&& !estouMostrandoAlgo)
                {
                    seguir             = false;
                    estouMostrandoAlgo = true;
                    RecompensaPorNivel.RecompensaDoNivel(i + 1).MostrarAlgo(recebido, VoltarDoMostrador);
                    enabled = false;
                }
            }

            if (seguir)
            {
                fase = FasesDoPassaNivel.meDestroir;
            }
            break;

        case FasesDoPassaNivel.meDestroir:
            ModificadorDoContainerPrincipal.ReligarBotoes(FindObjectOfType <Canvas>().gameObject);
            Destroy(gameObject);
            break;
        }
    }