public static void OpenMenu() { window = (RenameScene)GetWindow(typeof(RenameScene), false, "Rename Scenes"); WindowRefresh.RefreshLevelsList(out window.levelOptions, out window.selectedValue, out window.levels, out window.gameLevelData); window.selectedGameLevel = window.levels[window.selectedValue]; WindowRefresh.RefreshScenesList(window.selectedGameLevel, out window.sceneOptions, out window.selectedSceneValue); }
private void RenameSelectedGameLevel() { if (HasNewName() == true) { Debug.LogError("Requires Name"); return; } if (DoesGameLevelExistStatic.ReturnBool(newGameLevelName) == true) { Debug.LogError("A Game Level With This Name Already Exists"); return; } string originalGameLevelName = selectedGameLevel.gameLevelName; // string originalGameLevelResourceFolder = GetGameLevelDirectoryPaths.GetGameLevelResourceFolder(originalGameLevelName, false) + ".asset"; string originalGameLevelScenesFolder = GetGameLevelDirectoryPaths.GetGameLevelScenesFolder(originalGameLevelName, false); //string newGameLevelResourceFolder = GetGameLevelDirectoryPaths.GetGameLevelResourceFolder(newGameLevelName, false); string newGameLevelScenesFolder = GetGameLevelDirectoryPaths.GetGameLevelScenesFolder(newGameLevelName, false); //Create Resources Folder & Meta Data // FileUtil.MoveFileOrDirectory(originalGameLevelResourceFolder, newGameLevelResourceFolder); // FileUtil.DeleteFileOrDirectory(originalGameLevelResourceFolder + ".meta"); //Create Scenes Folder & Meta Data FileUtil.MoveFileOrDirectory(originalGameLevelScenesFolder, newGameLevelScenesFolder); FileUtil.DeleteFileOrDirectory(originalGameLevelScenesFolder + ".meta"); //Update Scriptable Object Data selectedGameLevel.gameLevelName = newGameLevelName; selectedGameLevel.assignedScenesDirectory = newGameLevelScenesFolder; AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); for (int i = 0; i < selectedGameLevel.assignedScenes.Count; i++) { string newName = selectedGameLevel.assignedScenes[i]; Debug.Log(selectedGameLevel.gameLevelName); RenameScene.RenameSceneWithLocationChange(selectedGameLevel, originalGameLevelName, selectedGameLevel.assignedScenes[i], newName); } //Rename Scriptable object Location AssetDatabase.RenameAsset(GetGameLevelDirectoryPaths.GetGameLevelAssetFileDirectory(selectedGameLevel), newGameLevelName + ".asset"); EditorUtility.SetDirty(selectedGameLevel); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); }