Esempio n. 1
0
        private static void SaveScenesName()
        {
            EditorBuildSettingsScene[] scenes = EditorBuildSettings.scenes;

            // First, try to load the list if already exists
            ScenesList list = (ScenesList)AssetDatabase.LoadAssetAtPath("Assets/[0]Framework/Resources/ScenesList.asset", typeof(ScenesList));

            // If doesn't exist, create it !
            if (list == null)
            {
                list = ScriptableObject.CreateInstance <ScenesList>();
                AssetDatabase.CreateAsset(list, "Assets/[0]Framework/Resources/ScenesList.asset");
            }
            Regex regex = new Regex(@"([^/]*/)*([\w\d\-]*)\.unity");

            // Fill the array
            list.scenesNames = new List <string>();
            for (int i = 0; i < scenes.Length; ++i)
            {
                list.scenesNames.Add(scenes[i].path);         //[i] = scenes[i].path;
                list.scenesNames[i] = regex.Replace(scenes[i].path, "$2");
            }
            EditorUtility.SetDirty(list);

            // Writes all unsaved asset changes to disk
            AssetDatabase.SaveAssets();
        }
 public string GetFromList(int index)
 {
     if (_scenesList == null)
     {
         _scenesList = Resources.Load <ScenesList>("ScenesList");
     }
     return(_scenesList.scenesNames[index]);
 }