You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.5 KiB
44 lines
1.5 KiB
using UnityEngine; |
|
using System.Collections; |
|
using UnityEditor; |
|
|
|
namespace UnityTest |
|
{ |
|
|
|
[InitializeOnLoad] |
|
public class IntegrationTestsHierarchyAnnotation { |
|
|
|
static IntegrationTestsHierarchyAnnotation() |
|
{ |
|
EditorApplication.hierarchyWindowItemOnGUI += DoAnnotationGUI; |
|
} |
|
|
|
public static void DoAnnotationGUI(int id, Rect rect) |
|
{ |
|
var obj = EditorUtility.InstanceIDToObject(id) as GameObject; |
|
if(!obj) return; |
|
|
|
var tc = obj.GetComponent<TestComponent>(); |
|
if(!tc) return; |
|
|
|
if (!EditorApplication.isPlayingOrWillChangePlaymode |
|
&& rect.Contains(Event.current.mousePosition) |
|
&& Event.current.type == EventType.MouseDown |
|
&& Event.current.button == 1) |
|
{ |
|
IntegrationTestRendererBase.DrawContextMenu(tc); |
|
Event.current.Use (); |
|
} |
|
|
|
EditorGUIUtility.SetIconSize(new Vector2(15, 15)); |
|
var result = IntegrationTestsRunnerWindow.GetResultForTest(tc); |
|
if (result != null) |
|
{ |
|
var icon = result.Executed ? IntegrationTestRendererBase.GetIconForResult(result.resultType) : Icons.UnknownImg; |
|
EditorGUI.LabelField(new Rect(rect.xMax - 18, rect.yMin - 2, rect.width, rect.height), new GUIContent(icon)); |
|
} |
|
EditorGUIUtility.SetIconSize(Vector2.zero); |
|
} |
|
} |
|
|
|
} |