Unity自动添加场景到BuildSettings

using UnityEngine;
using System.Collections;
using UnityEditor;
using System.Collections.Generic;
using System.IO;
public class Easy : Editor {

   [MenuItem("Tools/同步所有场景到SceneSetting文件")]
   static void CheckSceneSetting()
   {
    List<string> dirs = new List<string>();
    GetDirs(Application.dataPath,ref dirs);
    EditorBuildSettingsScene[] newSettings = new EditorBuildSettingsScene[dirs.Count];
    for(int i =0; i< newSettings.Length;i++)
    {
        newSettings[i] = new EditorBuildSettingsScene(dirs[i],true);
    }
    EditorBuildSettings.scenes = newSettings;
    EditorApplication.SaveAssets();
   }
    private static void GetDirs(string dirPath, ref List<string> dirs)
   {
    foreach (string path in Directory.GetFiles(dirPath))
    {
        if(System.IO.Path.GetExtension(path) == ".unity") 
        {
            dirs.Add(path.Substring(path.IndexOf("Assets/")));
        }
    }
    if (Directory.GetDirectories(dirPath).Length > 0)
    {
        foreach (string path in Directory.GetDirectories(dirPath))
            GetDirs(path,ref dirs);
    }
 }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容