using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; public class PlayModeTestFramework : EditorWindow { static string scenesRootPath = "/Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/Scenes"; enum Platforms { PC, PS4}; Platforms platform = Platforms.PC; bool developmentBuild = false; bool buildAndRun = true; [MenuItem("Internal/GraphicTest Tools/PlayMode Test Window")] public static void OpenPlayModeTestWindow() { PlayModeTestFramework window = GetWindow(); // find all the scenes window.allPaths = System.IO.Directory.GetFiles(Application.dataPath+scenesRootPath, "*.unity", System.IO.SearchOption.AllDirectories); for (int i = 0; i < window.allPaths.Length; ++i) { window.allPaths[i] = "Assets" + window.allPaths[i].Replace(Application.dataPath, ""); } //Debug.Log("Scenes found : " + window.allPaths.Length); for (int i = 0; i < window.allPaths.Length; ++i) { Debug.Log(window.allPaths[i]); } } string[] allPaths; private void OnGUI() { scenesRootPath = EditorGUILayout.TextField(scenesRootPath); for (int i = 0; i < allPaths.Length; ++i) { GUILayout.Label(allPaths[i]); } platform = (Platforms)EditorGUILayout.EnumPopup("Target Platform ", platform); developmentBuild = EditorGUILayout.Toggle("Development Build", developmentBuild); buildAndRun = EditorGUILayout.Toggle("Build and Run", buildAndRun); if (GUILayout.Button("Build Player")) { EditorBuildSettingsScene[] prevScenes = EditorBuildSettings.scenes; EditorBuildSettingsScene[] testScenes = new EditorBuildSettingsScene[allPaths.Length+1]; testScenes[0] = new EditorBuildSettingsScene(Application.dataPath+ "/Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/PlayModeTests.unity", true); for (int i=0; i