/// <summary> /// Changes Unity scene, and game state. Overloaded with different params for navigating to the progress screen /// </summary> /// <param name="levelNumber">Level Number of the level to be opened</param> /// <param name="chapterNumber">Chapter Number of the level to be opened</param> /// <returns>true if level is available, false if not</returns> public static bool ChangeScene(int levelNumber, int chapterNumber) { GameState currentState = GetCurrentState(); if (currentState == GameState.Progress) { //concatenate scene name from level and chapter numbers string levelName = "Level_" + padWithZeroes(chapterNumber.ToString()) + padWithZeroes(levelNumber.ToString());; if (Application.CanStreamedLevelBeLoaded(levelName)) { UnityEngine.SceneManagement.SceneManager.LoadScene(levelName); Instance.ChangeState(GameState.GameLevel); LevelManager.SetLevelIDNumbers(chapterNumber, levelNumber); return(true); } else { // print("ERROR: Can't find level " + levelName); } } return(false); }