public void NextLevel() { int nextScene = SceneManager.GetActiveScene().buildIndex + 1; if (scriptAchievments != null) { switch (SceneManager.GetActiveScene().buildIndex) { case 6: Debug.Log("Achievement 1/0: "); scriptAchievments.UnlockSteamAchievement("NEW_ACHIEVEMENT_1_0"); break; case 11: Debug.Log("Achievement 1/1"); scriptAchievments.UnlockSteamAchievement("NEW_ACHIEVEMENT_1_1"); break; case 16: Debug.Log("Achievement 1/2"); scriptAchievments.UnlockSteamAchievement("NEW_ACHIEVEMENT_1_2"); break; case 21: Debug.Log("Achievement 1/3"); scriptAchievments.UnlockSteamAchievement("NEW_ACHIEVEMENT_1_3"); break; case 26: Debug.Log("Achievement 1/4"); scriptAchievments.UnlockSteamAchievement("NEW_ACHIEVEMENT_1_4"); break; case 31: Debug.Log("Achievement 1/5"); scriptAchievments.UnlockSteamAchievement("NEW_ACHIEVEMENT_1_5"); break; case 36: Debug.Log("Achievement 1/6"); scriptAchievments.UnlockSteamAchievement("NEW_ACHIEVEMENT_1_6"); break; case 41: Debug.Log("Achievement 1/7"); scriptAchievments.UnlockSteamAchievement("NEW_ACHIEVEMENT_1_7"); break; case 46: Debug.Log("Achievement 1/8"); scriptAchievments.UnlockSteamAchievement("NEW_ACHIEVEMENT_1_8"); break; case 51: Debug.Log("Achievement 1/9"); scriptAchievments.UnlockSteamAchievement("NEW_ACHIEVEMENT_1_9"); break; case 56: Debug.Log("Achievement 1/10"); scriptAchievments.UnlockSteamAchievement("NEW_ACHIEVEMENT_1_10"); break; case 61: Debug.Log("Achievement 1/11: Zerar o jogo"); scriptAchievments.UnlockSteamAchievement("NEW_ACHIEVEMENT_1_11"); break; } } if (nextScene > 61) { EndGame(); } else { SaveGame(nextScene); SceneManager.LoadScene(nextScene); } }
public IEnumerator GoToLevel(Level level, bool fromCongrats = false) { if (gameCamera.isInTransition) { yield break; } var prevLevel = activeLevel; activeLevel = level; history.Clear(); if (activeLevel == null) { screenFade.SetColor(prevLevel.cameraParams.backgroundColor); screenFade.FadeIn(); yield return(new WaitWhile(() => screenFade.fadeOut == true)); yield return(new WaitForSeconds(0.5f)); cityMapGameObject.SetActive(true); prevLevel.gameObject.SetActive(false); gameCamera.MoveImmediate(gameCamera.cameraCityInbetweenTransform); gameCamera.StartMoving(gameCamera.cameraCityTransform, null); screenFade.FadeOut(); musicManager.SetTrack(0, true); yield return(new WaitWhile(() => screenFade.fadeOut == false)); if (prevLevel.buttonString == "35" && !gameData.IsSolvedCompletely()) { yield return(new WaitWhile(() => gameCamera.isInTransition == true)); phoneUI.animatorComponent.SetTrigger("Show"); phoneUI.isShowing = true; yield return(new WaitWhile(() => phoneUI.isShowing == true)); yield return(new WaitForSeconds(1.0f)); #if !DISABLESTEAMWORKS if (SteamManager.Initialized) { SteamAchievements.UnlockSteamAchievement("ACHIEVEMENT_04"); } #endif } else if (gameData.IsSolvedCompletely() && fromCongrats) { yield return(new WaitWhile(() => gameCamera.isInTransition == true)); Debug.Log("Game Completed!!!"); if (System.String.IsNullOrEmpty(gameData.date)) { gameData.date = System.DateTime.Now.ToString("dd.MM.yyyy"); Save(); } certificateUI.animatorComponent.SetTrigger("Show"); certificateUI.dateText.text = gameData.date; certificateUI.isShowing = true; yield return(new WaitWhile(() => certificateUI.isShowing == true)); yield return(new WaitForSeconds(1.0f)); #if !DISABLESTEAMWORKS if (SteamManager.Initialized) { SteamAchievements.UnlockSteamAchievement("ACHIEVEMENT_05"); } #endif } else { yield return(new WaitForSeconds(0.5f)); #if !DISABLESTEAMWORKS if (SteamManager.Initialized) { if (gameData.IsSolvedLevelsForGettingSmarterAchievement()) { SteamAchievements.UnlockSteamAchievement("ACHIEVEMENT_01"); } if (gameData.IsSolvedLevelsForHalfwayToSuccessAchievement()) { SteamAchievements.UnlockSteamAchievement("ACHIEVEMENT_02"); } if (gameData.IsSolvedLevelsForUrbanistAchievement()) { SteamAchievements.UnlockSteamAchievement("ACHIEVEMENT_03"); } } #endif } cityUI.animatorComponent.SetTrigger("Show"); } else { levelUI.UpdateText(activeLevel.goldMedalThreshold, history.Count); levelUI.UpdateLevelInfo(activeLevel.levelName, activeLevel.buttonString); var room = activeLevel.room; if (room == null) { Debug.Log("Room is null"); yield break; } room.ResetRoom(); activeLevel.MovablesToStart(); screenFade.SetColor(activeLevel.cameraParams.backgroundColor); screenFade.FadeIn(); gameCamera.StartMoving(activeLevel.cameraParams, null, true); yield return(new WaitWhile(() => screenFade.fadeOut == true)); cityMapGameObject.SetActive(false); activeLevel.gameObject.SetActive(true); yield return(new WaitWhile(() => gameCamera.isInTransition == true)); screenFade.FadeOut(); musicManager.SetTrack(activeLevel.trackIndex, true); yield return(new WaitWhile(() => screenFade.fadeOut == false)); levelUI.animatorComponent.SetTrigger("Show"); activeLevel.StartTimer(); } }