public void OnHierarchyChange() { renderer.OnHierarchyChange(isRunning); if (renderer.forceRepaint) { Repaint(); } if (TestManager.GetAllTestGameObjects().Any()) { TestRunner.GetTestRunner(); } }
public void OnHierarchyChange(bool isRunning) { if (isRunning || EditorApplication.isPlayingOrWillChangePlaymode) { return; } if (addNewGameObjectUnderSelectedTest && Selection.activeGameObject != null) { var go = Selection.activeGameObject; if (selectedTests.Count == 1 && go.transform.parent == null && go.GetComponent <TestComponent>() == null && go.GetComponent <TestRunner>() == null) { go.transform.parent = selectedTests.Single().go.transform; } } if (keepTestComponentObjectsOnTop) { foreach (var test in TestManager.GetAllTestGameObjects()) { if (test.transform.parent != null) { test.transform.parent = null; Debug.LogWarning("Tests need to be on top of hierarchy."); } } } if (Selection.gameObjects.Count() > 1 && Selection.gameObjects.All(o => o is GameObject && o.GetComponent <TestComponent>())) { selectedTests.Clear(); selectedTests.AddRange(Selection.gameObjects.Select(go => testManager.GetResultFor(go))); forceRepaint = true; } }