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(); } }
// 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; } }