Exemple #1
0
        /// <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);
        }