private void OnFocus() { if (EditorConfiguration == null) { InitEditorConfiguration(); } if (failIcon == null) { var findIcon = UnityEditor.AssetDatabase.FindAssets("16px-indicator-fail"); failIcon = UnityEditor.AssetDatabase.LoadAssetAtPath <UnityEngine.Texture2D>(UnityEditor.AssetDatabase.GUIDToAssetPath(findIcon[0])); } if (passIcon == null) { var findIcon = UnityEditor.AssetDatabase.FindAssets("16px-indicator-pass"); passIcon = UnityEditor.AssetDatabase.LoadAssetAtPath <UnityEngine.Texture2D>(UnityEditor.AssetDatabase.GUIDToAssetPath(findIcon[0])); } GetListOfSceneFromEditor(); AltUnityTestRunner.SetUpListTest(); }
private void DrawGUI() { var screenWidth = UnityEditor.EditorGUIUtility.currentViewWidth; //----------------------Left Panel------------ UnityEditor.EditorGUILayout.BeginHorizontal(); var leftSide = (screenWidth / 3) * 2; _scrollPosition = UnityEditor.EditorGUILayout.BeginScrollView(_scrollPosition, false, false, UnityEngine.GUILayout.MinWidth(leftSide)); DisplayTestGui(EditorConfiguration.MyTests); UnityEditor.EditorGUILayout.Separator(); DisplayBuildSettings(); UnityEditor.EditorGUILayout.Separator(); DisplayAltUnityServerSettings(); UnityEditor.EditorGUILayout.Separator(); DisplayPortForwarding(); UnityEditor.EditorGUILayout.EndScrollView(); //-------------------Right Panel-------------- var rightSide = (screenWidth / 3); UnityEditor.EditorGUILayout.BeginVertical(); UnityEditor.EditorGUILayout.LabelField("Platform", UnityEditor.EditorStyles.boldLabel); UnityEditor.EditorGUILayout.BeginHorizontal(); EditorConfiguration.platform = (Platform)UnityEngine.GUILayout.SelectionGrid((int)EditorConfiguration.platform, System.Enum.GetNames(typeof(Platform)), System.Enum.GetNames(typeof(Platform)).Length, UnityEditor.EditorStyles.radioButton); UnityEditor.EditorGUILayout.EndHorizontal(); UnityEditor.EditorGUILayout.Separator(); UnityEditor.EditorGUILayout.Separator(); UnityEditor.EditorGUILayout.Separator(); UnityEditor.EditorGUILayout.LabelField("Tests", UnityEditor.EditorStyles.boldLabel); if (UnityEngine.GUILayout.Button("Run All Tests")) { if (EditorConfiguration.platform == Platform.Editor) { System.Threading.Thread testThread = new System.Threading.Thread(() => AltUnityTestRunner.RunTests(AltUnityTestRunner.TestRunMode.RunAllTest)); testThread.Start(); } else { AltUnityTestRunner.RunTests(AltUnityTestRunner.TestRunMode.RunAllTest); } } if (UnityEngine.GUILayout.Button("Run Selected Tests")) { if (EditorConfiguration.platform == Platform.Editor) { System.Threading.Thread testThread = new System.Threading.Thread(() => AltUnityTestRunner.RunTests(AltUnityTestRunner.TestRunMode.RunSelectedTest)); testThread.Start(); } else { AltUnityTestRunner.RunTests(AltUnityTestRunner.TestRunMode.RunSelectedTest); } } if (UnityEngine.GUILayout.Button("Run Failed Tests")) { if (EditorConfiguration.platform == Platform.Editor) { System.Threading.Thread testThread = new System.Threading.Thread(() => AltUnityTestRunner.RunTests(AltUnityTestRunner.TestRunMode.RunFailedTest)); testThread.Start(); } else { AltUnityTestRunner.RunTests(AltUnityTestRunner.TestRunMode.RunFailedTest); } } UnityEditor.EditorGUILayout.Separator(); UnityEditor.EditorGUILayout.Separator(); UnityEditor.EditorGUILayout.Separator(); if (AltUnityBuilder.built) { var found = false; UnityEngine.SceneManagement.Scene scene = UnityEditor.SceneManagement.EditorSceneManager.OpenScene(AltUnityBuilder.GetFirstSceneWhichWillBeBuilt()); if (scene.path.Equals(AltUnityBuilder.GetFirstSceneWhichWillBeBuilt())) { if (scene.GetRootGameObjects() .Any(gameObject => gameObject.name.Equals("AltUnityRunnerPrefab"))) { UnityEngine.SceneManagement.SceneManager.SetActiveScene(scene); var altunityRunner = scene.GetRootGameObjects() .First(a => a.name.Equals("AltUnityRunnerPrefab")); DestroyAltUnityRunner(altunityRunner); found = true; } if (found == false) { AltUnityBuilder.built = false; } } } UnityEditor.EditorGUILayout.LabelField("Build", UnityEditor.EditorStyles.boldLabel); if (EditorConfiguration.platform != Platform.Editor) { if (UnityEngine.GUILayout.Button("Build Only")) { if (EditorConfiguration.platform == Platform.Android) { AltUnityBuilder.BuildAndroidFromUI(autoRun: false); } #if UNITY_EDITOR_OSX else if (EditorConfiguration.platform == Platform.iOS) { AltUnityBuilder.BuildiOSFromUI(autoRun: false); } #endif else { RunInEditor(); } } } else { UnityEditor.EditorGUI.BeginDisabledGroup(true); UnityEngine.GUILayout.Button("Build Only"); UnityEditor.EditorGUI.EndDisabledGroup(); } UnityEditor.EditorGUILayout.Separator(); UnityEditor.EditorGUILayout.Separator(); UnityEditor.EditorGUILayout.Separator(); UnityEditor.EditorGUILayout.LabelField("Run", UnityEditor.EditorStyles.boldLabel); if (UnityEngine.GUILayout.Button("Play in Editor")) { EditorConfiguration.platform = Platform.Editor; RunInEditor(); } if (EditorConfiguration.platform != Platform.Editor) { if (UnityEngine.GUILayout.Button("Build & Run on Device")) { if (EditorConfiguration.platform == Platform.Android) { AltUnityBuilder.BuildAndroidFromUI(autoRun: true); } #if UNITY_EDITOR_OSX else if (EditorConfiguration.platform == Platform.iOS) { AltUnityBuilder.BuildiOSFromUI(autoRun: true); } #endif } } else { UnityEditor.EditorGUI.BeginDisabledGroup(true); UnityEngine.GUILayout.Button("Build & Run on Device"); UnityEditor.EditorGUI.EndDisabledGroup(); } UnityEditor.EditorGUILayout.LabelField("", UnityEngine.GUILayout.ExpandHeight(true)); //Status test _scrollPositonTestResult = UnityEditor.EditorGUILayout.BeginScrollView(_scrollPositonTestResult, UnityEngine.GUI.skin.textArea); if (selectedTest != -1) { UnityEditor.EditorGUILayout.LabelField("Test Result for: " + EditorConfiguration.MyTests[selectedTest].TestName, UnityEditor.EditorStyles.boldLabel); UnityEditor.EditorGUILayout.Separator(); UnityEditor.EditorGUILayout.LabelField("Message:"); if (EditorConfiguration.MyTests[selectedTest].TestResultMessage == null) { UnityEngine.GUILayout.TextArea("No informartion about this test available.\nPlease rerun the test.", UnityEngine.GUILayout.MaxHeight(75)); } else { string text = EditorConfiguration.MyTests[selectedTest].TestResultMessage; int lineContor = 1; int textLength = (int)rightSide / 7; if (text.Length > textLength) { var splited = text.Split(' '); text = ""; foreach (var word in splited) { text = text + " " + word; if (text.Length > textLength * lineContor) { lineContor++; text = text + "\n"; } } } UnityEditor.EditorGUILayout.TextArea(text); } } else { UnityEditor.EditorGUILayout.LabelField("No test selected"); } UnityEditor.EditorGUILayout.EndScrollView(); UnityEditor.EditorGUILayout.EndVertical(); UnityEditor.EditorGUILayout.EndHorizontal(); }