添加具体场景到BuildSettings
[MenuItem("Tools/BuildSettings/add One")]
public static void AddOneScene()
{
List<EditorBuildSettingsScene> sceneList = new List<EditorBuildSettingsScene>();
sceneList.Add(new EditorBuildSettingsScene("Assets/Scenes/One.unity", true));
EditorBuildSettings.scenes = sceneList.ToArray();
}
自动添加场景都构建场景或从构建场景设置删除场景
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System.IO;
/// <summary>
/// 构建场景编辑器
/// </summary>
public static class BuildSceneSettingEditor {
/// <summary>
/// 构建场景设置为所有
/// </summary>
[MenuItem("Tools/BuildSettings/add All scenes to buildSettings(同步所有场景到SceneSetting文件)")]
public static void AddAllScenesToBuildSettings()
{
HashSet<string> sceneNames = new HashSet<string>();
string[] paths = new string[] { "Assets" }; //指定场景所在的文件夹名称,如果是“Assets”,则代表工程里面所有的场景
string[] sceneArr = AssetDatabase.FindAssets("t:Scene", paths);
foreach(string scene in sceneArr)
{
sceneNames.Add(AssetDatabase.GUIDToAssetPath(scene));
}
List<EditorBuildSettingsScene> scenes = new List<EditorBuildSettingsScene>();
foreach(string scensName in sceneNames)
{
scenes.Add(new EditorBuildSettingsScene(scensName, true));
}
EditorBuildSettings.scenes = scenes.ToArray();
}
/// <summary>
/// 删除所有的构建场景
/// </summary>
[MenuItem("Tools/BuildSettings/DeleteScenesFormBuildSettings(删除所有构建场景)")]
public static void DeleteScenesFormBuildSettings()
{
List<EditorBuildSettingsScene> scenes = new List<EditorBuildSettingsScene>();
EditorBuildSettings.scenes = scenes.ToArray();
}
}