浏览代码
Updated custom testframework build file to account for new path and to only allow iOS build on Mac OSX
/RenderPassXR_Sandbox
Updated custom testframework build file to account for new path and to only allow iOS build on Mac OSX
/RenderPassXR_Sandbox
Felipe Lira
8 年前
当前提交
54b6d8a9
共有 1 个文件被更改,包括 61 次插入 和 52 次删除
|
|||
using System.IO; |
|||
using UnityEditor; |
|||
public class TestFrameworkCustomBuild |
|||
{ |
|||
private static readonly string s_TestSceneFolder = "/GraphicsTests/Scenes"; |
|||
private static readonly string s_BuildFolder = "/TestScenesBuild"; |
|||
public class TestFrameworkCustomBuild |
|||
{ |
|||
private static readonly string s_TestSceneFolder = "/GraphicsTests/RenderPipeline/LowEndMobilePipeline/Scenes"; |
|||
private static readonly string s_BuildFolder = "/TestScenesBuild"; |
|||
|
|||
[MenuItem("RenderPipeline/TestFramework/Build-iOS")] |
|||
public static void BuildiOS() |
|||
{ |
|||
TestFrameworkCustomBuild builder = new TestFrameworkCustomBuild(); |
|||
builder.Build(BuildTarget.iOS, BuildOptions.AcceptExternalModificationsToPlayer); |
|||
} |
|||
|
|||
[MenuItem("RenderPipeline/TestFramework/Build-iOS", true)] |
|||
|
|||
public static bool ValidateBuildiOS() |
|||
{ |
|||
#if UNITY_STANDALONE_OSX
|
|||
return true; |
|||
#else
|
|||
return false; |
|||
#endif
|
|||
} |
|||
|
|||
public void Build(BuildTarget target, BuildOptions options) |
|||
{ |
|||
var absoluteScenesPath = Application.dataPath + s_TestSceneFolder; |
|||
string[] levels = System.IO.Directory.GetFiles(absoluteScenesPath, "*.unity", System.IO.SearchOption.AllDirectories); |
|||
CheckAndAddGotoNextSceneBehavior(levels); |
|||
[MenuItem("RenderPipeline/TestFramework/Build-iOS")] |
|||
public static void BuildiOS() |
|||
{ |
|||
TestFrameworkCustomBuild builder = new TestFrameworkCustomBuild(); |
|||
builder.Build(BuildTarget.iOS, BuildOptions.AcceptExternalModificationsToPlayer); |
|||
} |
|||
string savePath = EditorUtility.SaveFolderPanel("Select folder to save project", "", ""); |
|||
BuildPipeline.BuildPlayer(levels, savePath + s_BuildFolder, target, options); |
|||
} |
|||
public void Build(BuildTarget target, BuildOptions options) |
|||
{ |
|||
var absoluteScenesPath = Application.dataPath + s_TestSceneFolder; |
|||
string[] levels = System.IO.Directory.GetFiles(absoluteScenesPath, "*.unity", System.IO.SearchOption.AllDirectories); |
|||
CheckAndAddGotoNextSceneBehavior(levels); |
|||
private void CheckAndAddGotoNextSceneBehavior(string[] levels) |
|||
{ |
|||
for (int i = 0; i < levels.Length; ++i) |
|||
{ |
|||
string levelPath = levels[i]; |
|||
var scene = EditorSceneManager.OpenScene(levelPath); |
|||
GameObject[] objects = scene.GetRootGameObjects(); |
|||
bool componentFound = false; |
|||
string savePath = EditorUtility.SaveFolderPanel("Select folder to save project", "", ""); |
|||
BuildPipeline.BuildPlayer(levels, savePath + s_BuildFolder, target, options); |
|||
} |
|||
foreach (GameObject go in objects) |
|||
{ |
|||
GotoNextScene component = go.GetComponent<GotoNextScene>(); |
|||
if (component != null) |
|||
{ |
|||
component.m_NextSceneIndex = (i + 1) % levels.Length; |
|||
componentFound = true; |
|||
break; |
|||
} |
|||
} |
|||
private void CheckAndAddGotoNextSceneBehavior(string[] levels) |
|||
{ |
|||
for (int i = 0; i < levels.Length; ++i) |
|||
{ |
|||
string levelPath = levels[i]; |
|||
var scene = EditorSceneManager.OpenScene(levelPath); |
|||
GameObject[] objects = scene.GetRootGameObjects(); |
|||
bool componentFound = false; |
|||
if (!componentFound) |
|||
{ |
|||
GameObject gotoNextScene = new GameObject("GotoNextScene"); |
|||
GotoNextScene component = gotoNextScene.AddComponent<GotoNextScene>(); |
|||
component.m_NextSceneIndex = (i + 1) % levels.Length; |
|||
} |
|||
foreach (GameObject go in objects) |
|||
{ |
|||
GotoNextScene component = go.GetComponent<GotoNextScene>(); |
|||
if (component != null) |
|||
{ |
|||
component.m_NextSceneIndex = (i + 1) % levels.Length; |
|||
componentFound = true; |
|||
break; |
|||
} |
|||
} |
|||
|
|||
if (!componentFound) |
|||
{ |
|||
GameObject gotoNextScene = new GameObject("GotoNextScene"); |
|||
GotoNextScene component = gotoNextScene.AddComponent<GotoNextScene>(); |
|||
component.m_NextSceneIndex = (i + 1) % levels.Length; |
|||
} |
|||
|
|||
EditorSceneManager.SaveScene(scene); |
|||
EditorSceneManager.UnloadSceneAsync(scene); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
EditorSceneManager.SaveScene(scene); |
|||
EditorSceneManager.UnloadSceneAsync(scene); |
|||
} |
|||
} |
|||
} |
|||
} |
撰写
预览
正在加载...
取消
保存
Reference in new issue