Exemplo n.º 1
0
        public override bool Draw()
        {
            PreDraw();

            if (methodNode.IsHided)
            {
                return(false);
            }

            GUILayout.Space(METHOD_MARGIN);

            Rect rect = EditorGUILayout.BeginHorizontal();


            if (currentPlayingTest.Node == methodNode)
            {
                DrawCurrentTestBackground(rect);
            }
            else
            {
                DrawBackgroundIfSelected(rect);
            }

            GUILayout.Space(20);


            HandleKeyboardEvent(RunTest);

            var prevSelection = methodNode.IsSelected;

            DrawTestLine(rect,
                         () =>
            {
                selectedNode.UpdateSelectedNode(methodNode);
            },
                         () =>
            {
                methodNode.ResetTestState();
                PlayModeTestRunner.RunTestByDoubleClick(
                    PlayModeTestRunner.SpecificTestType.Method,
                    methodNode);
            },
                         () =>
            {
                selectedNode.UpdateSelectedNode(methodNode);
                drawContextMenu = true;
            },
                         NamePostfix());

            bool isDirty = prevSelection != methodNode.IsSelected;

            EditorGUILayout.EndHorizontal();

            return(isDirty);
        }