Beispiel #1
0
        public void DrawOutputBox()
        {
            GUILayout.TextArea(methodOutput, GUILayout.Height(50));

            if (opacity > 0)
            {
                Rect lastRect = GUILayoutUtility.GetLastRect();
                //              Color baseColor = new Color(1,0.9f,0);
                Color baseColor = new Color(0, 0, 1);
                baseColor.a = 0.3f * opacity;
                GUI.color   = baseColor;
                GUI.DrawTexture(lastRect, EditorGUIUtility.whiteTexture);

                baseColor.a = 0.8f * opacity;
                GUI.color   = baseColor;
                float lineThickness = 2;

                GUI.DrawTexture(new Rect(lastRect.xMin, lastRect.yMin, lineThickness, lastRect.height), EditorGUIUtility.whiteTexture);
                GUI.DrawTexture(new Rect(lastRect.xMax - lineThickness, lastRect.yMin, lineThickness, lastRect.height), EditorGUIUtility.whiteTexture);

                GUI.DrawTexture(new Rect(lastRect.xMin + lineThickness, lastRect.yMin, lastRect.width - lineThickness * 2, lineThickness), EditorGUIUtility.whiteTexture);
                GUI.DrawTexture(new Rect(lastRect.xMin + lineThickness, lastRect.yMax - lineThickness, lastRect.width - lineThickness * 2, lineThickness), EditorGUIUtility.whiteTexture);
                GUI.color = Color.white;
                opacity  -= AnimationHelper.DeltaTime;

                AnimationHelper.SetAnimationActive();
                Repaint();
            }
        }
Beispiel #2
0
        public void PostDraw()
        {
            SidekickEditorGUI.DrawSplitter();
            GUILayout.Label("Output", EditorStyles.boldLabel);
            outputScrollPosition = EditorGUILayout.BeginScrollView(outputScrollPosition, GUILayout.MaxHeight(100));
            foreach (var outputObject in outputObjects)
            {
                if (TypeUtility.IsNotNull(outputObject))
                {
                    string name = outputObject switch
                    {
                        Object unityObject => $"{unityObject.name}",
                         _ => outputObject.ToString()
                    };

                    if (GUILayout.Button($"Select {name} ({TypeUtility.NameForType(outputObject.GetType())})"))
                    {
                        SidekickWindow.Current.SetSelection(outputObject);
                    }
                }
                else
                {
                    using (new EditorGUI.DisabledScope(true))
                    {
                        GUILayout.Button("null");
                    }
                }
            }

            if (opacity > 0)
            {
                Rect  lastRect  = GUILayoutUtility.GetLastRect();
                Color baseColor = new Color(0, 0, 1, 0.3f * opacity);
                GUI.color = baseColor;
                GUI.DrawTexture(lastRect, EditorGUIUtility.whiteTexture);

                baseColor.a = 0.8f * opacity;
                GUI.color   = baseColor;
                float lineThickness = 2;

                GUI.DrawTexture(new Rect(lastRect.xMin, lastRect.yMin, lineThickness, lastRect.height), EditorGUIUtility.whiteTexture);
                GUI.DrawTexture(new Rect(lastRect.xMax - lineThickness, lastRect.yMin, lineThickness, lastRect.height), EditorGUIUtility.whiteTexture);

                GUI.DrawTexture(new Rect(lastRect.xMin + lineThickness, lastRect.yMin, lastRect.width - lineThickness * 2, lineThickness), EditorGUIUtility.whiteTexture);
                GUI.DrawTexture(new Rect(lastRect.xMin + lineThickness, lastRect.yMax - lineThickness, lastRect.width - lineThickness * 2, lineThickness), EditorGUIUtility.whiteTexture);
                GUI.color = Color.white;
                opacity  -= AnimationHelper.DeltaTime;

                AnimationHelper.SetAnimationActive();
            }

            EditorGUILayout.EndScrollView();
        }