///----------------------------------------------------------------------------------------------

        //The connection's inspector
        public static void ShowConnectionInspectorGUI(Connection c)
        {
            UndoUtility.CheckUndo(c.graph, "Connection Inspector");

            GUILayout.BeginHorizontal();
            GUI.color = new Color(1, 1, 1, 0.5f);

            c.isActive = EditorGUILayout.ToggleLeft("Active", c.isActive, GUILayout.Width(150));

            GUILayout.FlexibleSpace();

            if (GUILayout.Button("X", GUILayout.Width(20)))
            {
                GraphEditorUtility.PostGUI += () => { c.graph.RemoveConnection(c); };
            }

            GUI.color = Color.white;
            GUILayout.EndHorizontal();

            EditorUtils.BoldSeparator();
            c.OnConnectionInspectorGUI();
            c.sourceNode.OnConnectionInspectorGUI(c.sourceNode.outConnections.IndexOf(c));

            UndoUtility.CheckDirty(c.graph);
        }
Beispiel #2
0
        ///----------------------------------------------------------------------------------------------

        //The connection's inspector
        public static void ShowConnectionInspectorGUI(Connection c)
        {
            UndoManager.CheckUndo(c.graph, "Connection Inspector");

            GUILayout.BeginHorizontal();
            GUI.color = new Color(1, 1, 1, 0.5f);

            if (GUILayout.Button("◄", GUILayout.Height(14), GUILayout.Width(20)))
            {
                GraphEditorUtility.activeElement = c.sourceNode;
            }

            if (GUILayout.Button("►", GUILayout.Height(14), GUILayout.Width(20)))
            {
                GraphEditorUtility.activeElement = c.targetNode;
            }

            c.isActive = EditorGUILayout.ToggleLeft("ACTIVE", c.isActive, GUILayout.Width(150));

            GUILayout.FlexibleSpace();

            if (GUILayout.Button("X", GUILayout.Height(14), GUILayout.Width(20)))
            {
                GraphEditorUtility.PostGUI += delegate { c.graph.RemoveConnection(c); };
                return;
            }

            GUI.color = Color.white;
            GUILayout.EndHorizontal();

            EditorUtils.BoldSeparator();
            c.OnConnectionInspectorGUI();
            c.sourceNode.OnConnectionInspectorGUI(c.sourceNode.outConnections.IndexOf(c));

            UndoManager.CheckDirty(c.graph);
        }