/// <summary> /// Open the selected level scene /// </summary> private void OpenLevelScene(int index) { var curLevelID = LevelSceneManagement.GetLoadedLevelID(_levelData); LevelSceneManagement.OpenGamePlayScene(); if (curLevelID == index) { Debug.Log("The specified level has been already opened"); return; } // If user pressed cancel while asking for saving the scene, // not to load the new scene if (curLevelID != -1 && !EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo()) { return; } var sceneAssetPath = _levelData.GetLevelScenePath(index); LevelSceneManagement.OpenLevelScene(sceneAssetPath); }