Example #1
0
        public static void UnpackSelectedSubGraphNode(DashGraph p_graph, SubGraphNode p_subGraphNode)
        {
            if (p_graph == null || p_subGraphNode == null)
            {
                return;
            }

            UndoUtils.RegisterCompleteObject(p_graph, "Unpack SubGraph");
            selectedNodes.Clear();

            NodeUtils.UnpackNodesFromSubGraph(p_graph, p_subGraphNode);

            DashEditorCore.SetDirty();
        }
Example #2
0
        public static void DuplicateSelectedNodes(DashGraph p_graph)
        {
            if (p_graph == null || selectedNodes.Count == 0)
            {
                return;
            }

            UndoUtils.RegisterCompleteObject(p_graph, "Duplicate Nodes");

            List <NodeBase> nodes    = selectedNodes.Select(i => p_graph.Nodes[i]).ToList();
            List <NodeBase> newNodes = NodeUtils.DuplicateNodes(p_graph, nodes);

            selectedNodes = newNodes.Select(n => n.Index).ToList();

            DashEditorCore.SetDirty();
        }
Example #3
0
        public static void DeleteNode(NodeBase p_node, DashGraph p_graph)
        {
            if (p_graph == null)
            {
                return;
            }

            UndoUtils.RegisterCompleteObject(p_graph, "Delete Node");

            int index = p_node.Index;

            p_graph.DeleteNode(p_node);
            selectedNodes.Remove(index);
            ReindexSelected(index);

            DashEditorCore.SetDirty();
        }
Example #4
0
        public static void DeleteSelectedNodes(DashGraph p_graph)
        {
            if (p_graph == null || selectedNodes.Count == 0)
            {
                return;
            }

            UndoUtils.RegisterCompleteObject(p_graph, "Delete Nodes");

            var nodes = selectedNodes.Select(i => p_graph.Nodes[i]).ToList();

            nodes.ForEach(n => p_graph.DeleteNode(n));

            selectedNodes = new List <int>();

            DashEditorCore.SetDirty();
        }
Example #5
0
        public static void DuplicateNode(NodeBase p_node, DashGraph p_graph)
        {
            if (p_graph == null)
            {
                return;
            }

            UndoUtils.RegisterCompleteObject(p_graph, "Duplicate Node");

            NodeBase node = NodeUtils.DuplicateNode(p_graph, (NodeBase)p_node);

            selectedNodes = new List <int> {
                node.Index
            };

            DashEditorCore.SetDirty();
        }
Example #6
0
        public static void CreateSubGraphFromSelectedNodes(DashGraph p_graph)
        {
            if (p_graph == null || selectedNodes.Count == 0)
            {
                return;
            }

            UndoUtils.RegisterCompleteObject(p_graph, "Create SubGraph");

            List <NodeBase> nodes        = selectedNodes.Select(i => p_graph.Nodes[i]).ToList();
            SubGraphNode    subGraphNode = NodeUtils.PackNodesToSubGraph(p_graph, nodes);

            selectedNodes.Clear();
            selectedNodes.Add(subGraphNode.Index);

            DashEditorCore.SetDirty();
        }