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();
        }
Beispiel #2
0
            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();
                }
            }