An easy to use Unity 3D library for creating illustrated Interactive Fiction games and more.
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.
|
|
|
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);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|