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(); }
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(); }
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(); }
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(); }
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(); }
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(); }