void Start() { LevelController.ButtonFecharBloqueado = true; silabaControl = SilabaControl.instance; if (eRevisao) { silabaControl.SilabaSetup(soundsDirectory, pathAct); } else { silabaControl.SilabaSetup(soundsDirectory); } score = Score.instance; score.ScoreSetup(); score.UpdateTextStars(); score.UpdateTextMoney(); buttonConfirmar = ButtonConfirmar.instance; //closeButton = GameObject.Find("Button - Fechar"); //AnimationController = LevelChangerAnimController.control; // Pega a informação do sistema, planeta e do ato DataManager.statisticsData.sistema = (currentPlanet / 5).ToString(); DataManager.statisticsData.planeta = currentPlanet.ToString(); DataManager.statisticsData.ato = currentAct.ToString(); StartCoroutine(silabaControl.CallSilaba(1f)); //Começa a chamar as silabas }
/// <summary> /// Verifica se o jogador já está pronto para ir para o próximo nível ou se voltará para o nível anterior /// </summary> /// <param name="seconds"></param> /// <param name="NextLevel"></param> /// <param name="PreviousLevel"></param> /// <returns></returns> public IEnumerator CheckScore(float seconds, string NextLevel, string PreviousLevel) { GameObject resultado; yield return(new WaitForSeconds(seconds + 0.2f)); stageManager = StageManager.instance; //Pega a atual instância do Stage Manager DataManager.SelectProperFile(); // Salva as estatísticas atuais do jogador DataManager.SaveStatistics(); bool playConclusionVideo = false; //Se o resultado estiver correto if (getScorePositive() == maxScore) { if (stageManager.currentPlanet == 4 && !SaveManager.player.CompletouPlaneta(4)) { firstTimeBeatingRev1 = true; } GiveMoney(); GiveStars(); ResetTimePlaying(); resultado = Resources.Load("Prefabs/Feedback/Level Clear Message") as GameObject; resultado = Instantiate(resultado, GameObject.Find("Canvas").transform); // Se for o último ato do planeta, libera o próximo planeta. if (stageManager.currentAct == 3) { SaveManager.player.planeta[stageManager.currentPlanet].liberado = true; } // Caso seja a revisão verifica se é do sistema 0 if (stageManager.eRevisao) { // Se for do sistema 0, libera todos os outros if (!SaveManager.player.sistemaLiberado) { SaveManager.player.sistemaLiberado = true; } // Se não for o 0, verifica se concluiu todos os sistemas pela primeira vez else if (SaveManager.player.CompletouTodosSistemas() && !SaveManager.player.jaConcluiuJogo) { SaveManager.player.jaConcluiuJogo = true; playConclusionVideo = true; } } //// Se ganhar uma fase de revisão e for o último ato (caso tenha mais que um), libera o próximo sistema //if (stageManager.NextLevel.Contains("stageSelect") && stageManager.eRevisao) //{ // // Pega o inteiro no final do stageSelect (indica qual sistema está) e libera o proximo sistema (+1) // SaveManager.player.sistemaLiberado[System.Int32.Parse(stageManager.NextLevel.Substring(stageManager.NextLevel.Length - 1)) + 1] = true; //} SaveManager.Save(); yield return(new WaitForSeconds(2)); GameObject feedbackEstrelas; if (stars == 1) { feedbackEstrelas = Resources.Load("Prefabs/Feedback/GanhaUmaEstrela") as GameObject; Instantiate(feedbackEstrelas, GameObject.Find("Canvas").transform); yield return(new WaitForSeconds(1)); } else if (stars == 2) { feedbackEstrelas = Resources.Load("Prefabs/Feedback/GanhaDuasEstrela") as GameObject; Instantiate(feedbackEstrelas, GameObject.Find("Canvas").transform); yield return(new WaitForSeconds(2)); } else if (stars == 3) { feedbackEstrelas = Resources.Load("Prefabs/Feedback/GanhaTresEstrela") as GameObject; Instantiate(feedbackEstrelas, GameObject.Find("Canvas").transform); yield return(new WaitForSeconds(2)); } if (playConclusionVideo) { UnityEngine.Video.VideoClip videoClip = Resources.Load <UnityEngine.Video.VideoClip>(conclusionVideoName); GameObject loadScene = new GameObject(); loadScene.AddComponent <LoadScene>(); loadScene.GetComponent <LoadScene>().LoadSceneWithFade(videoClip, NextLevel); } else { if (firstTimeBeatingRev1) { UnityEngine.Video.VideoClip videoClip = Resources.Load(caminhoVideoSystem) as UnityEngine.Video.VideoClip; stageManager.video = videoClip; firstTimeBeatingRev1 = false; StartCoroutine(stageManager.CallAnotherLevel(3, "06_systemSelect", true)); } else { UnityEngine.Video.VideoClip videoClip = Resources.Load <UnityEngine.Video.VideoClip>(conclusionVideoName); StartCoroutine(stageManager.CallAnotherLevel(3, NextLevel, true));//espera o dobro do tempo pois esta funcao é chamada ao mesmo tempo que a da linha de cima } } } //Caso o resultado esteja errado else if (getScoreNegative() == maxScore) { resultado = Resources.Load("Prefabs/Feedback/Level Failed Message") as GameObject; resultado = Instantiate(resultado, GameObject.Find("Canvas").transform); SaveManager.Save(); yield return(new WaitForSeconds(4)); StartCoroutine(stageManager.CallAnotherLevel(3, PreviousLevel, false));//espera o dobro do tempo pois esta funcao é chamada ao mesmo tempo que a da linha de cima } else { // Limpa os TextSlots para a proxima palavra for (int i = 0; i < LevelController.textSlots; i++) { LevelController.inputText[i] = "";//reset var after confirm button is clicked } SetaIndicadora.DestroiSeta(); StartCoroutine(silabaControl.CallSilaba(0));//chama nova sílaba } }