private void OnGUI() { _mainScroll = EditorGUILayout.BeginScrollView(_mainScroll); EditorGUILayout.LabelField(new GUIContent("Select things you want to test:")); EditorGUILayoutHelper.DrawLine(); _testScenes = EditorGUILayout.Toggle(new GUIContent("Scenes"), _testScenes); EditorGUI.indentLevel++; if (!_testScenes) { GUI.enabled = false; } _testActiveScene = EditorGUILayout.Toggle(new GUIContent("Active scene"), _testActiveScene); _testActiveBuildScenes = EditorGUILayout.Toggle(new GUIContent("Active build scenes"), _testActiveBuildScenes); _testInactiveBuildScenes = EditorGUILayout.Toggle(new GUIContent("Inactive build scenes"), _testInactiveBuildScenes); _testNonBuildScenes = EditorGUILayout.Toggle(new GUIContent("Non-build scenes"), _testNonBuildScenes); EditorGUI.indentLevel--; GUI.enabled = true; _testPrefabs = EditorGUILayout.Toggle(new GUIContent("Prefabs"), _testPrefabs); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button(new GUIContent("Select All"))) { SetAllTestValues(true); } if (GUILayout.Button(new GUIContent("Deselect All"))) { SetAllTestValues(false); } EditorGUILayout.EndHorizontal(); EditorGUILayoutHelper.DrawLine(); EditorGUILayout.HelpBox("If there is no test case class for a specific binder we can't test it, should test throw error on missing test cases?", MessageType.Warning); _testAbortOnMissingTestCase = EditorGUILayout.Toggle(new GUIContent("Throw (Recommended)"), _testAbortOnMissingTestCase); EditorGUILayoutHelper.DrawLine(); if (GUILayout.Button(new GUIContent("Test"))) { try { BindingConnectionTest.DoTest(_testAbortOnMissingTestCase, _testScenes, _testActiveScene, _testActiveBuildScenes, _testInactiveBuildScenes, _testNonBuildScenes, _testPrefabs); EditorUtility.DisplayDialog("Success", "Test done without any errors", "Ok", "Cancel"); } catch (Exception e) { EditorUtility.DisplayDialog("Error", e.Message, "Ok", "Cancel"); } } EditorGUILayout.EndScrollView(); }
private void OnGUI() { _data.CollectScenes = EditorGUILayout.Toggle("Scenes", _data.CollectScenes); EditorGUI.indentLevel++; var originalGUIEnabled = GUI.enabled; if (!_data.CollectScenes) { GUI.enabled = false; } _data.CollectActiveScene = EditorGUILayout.Toggle("Active Scene", _data.CollectActiveScene); _data.CollectActiveBuildScenes = EditorGUILayout.Toggle("Active build scenes", _data.CollectActiveBuildScenes); _data.CollectInactiveBuildScenes = EditorGUILayout.Toggle("Inactive build scenes", _data.CollectInactiveBuildScenes); _data.CollectNonBuildScenes = EditorGUILayout.Toggle("Non-build Scenes", _data.CollectNonBuildScenes); GUI.enabled = originalGUIEnabled; EditorGUI.indentLevel--; _data.CollectPrefabs = EditorGUILayout.Toggle("Prefabs", _data.CollectPrefabs); EditorGUILayoutHelper.DrawLine(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button(new GUIContent("Select All"))) { _data.SelectAll(); } if (GUILayout.Button(new GUIContent("Deselect All"))) { _data.DeselectAll(); } EditorGUILayout.EndHorizontal(); EditorGUILayoutHelper.DrawLine(); if (GUILayout.Button(new GUIContent("Done"))) { _onCloseEvent?.Invoke(_data); this.Close(); } }