ビルドに加えたいシーンのリスト。 これは、ビルド設定 ウィンドウに表示されるシーンのリストと同じものです。このリストを修正して、ビルドにどのシーンを加えるかを設定できます。
//C# Example
using System.Collections.Generic; using UnityEditor; using UnityEngine;
public class ExampleWindow : EditorWindow { List<SceneAsset> m_SceneAssets = new List<SceneAsset>();
// Add menu item named "Example Window" to the Window menu [MenuItem("Window/Example Window")] public static void ShowWindow() { //Show existing window instance. If one doesn't exist, make one. EditorWindow.GetWindow (typeof(ExampleWindow)); }
void OnGUI() { GUILayout.Label("Scenes to include in build:", EditorStyles.boldLabel); for (int i=0; i<m_SceneAssets.Count; ++i) { m_SceneAssets[i] = (SceneAsset)EditorGUILayout.ObjectField (m_SceneAssets[i], typeof(SceneAsset), false); } if (GUILayout.Button ("Add")) { m_SceneAssets.Add (null); }
GUILayout.Space (8);
if (GUILayout.Button("Apply To Build Settings")) { SetEditorBuildSettingsScenes (); } }
public void SetEditorBuildSettingsScenes () { // Find valid scene paths and make a list of EditorBuildSettingsScene List<EditorBuildSettingsScene> editorBuildSettingsScenes = new List<EditorBuildSettingsScene>(); foreach (var sceneAsset in m_SceneAssets) { string scenePath = AssetDatabase.GetAssetPath (sceneAsset); if (!string.IsNullOrEmpty (scenePath)) editorBuildSettingsScenes.Add (new EditorBuildSettingsScene (scenePath, true)); }
// Set the build settings window scene list EditorBuildSettings.scenes = editorBuildSettingsScenes.ToArray (); } }