Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
        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();
        }