public void DropIn(IDraggable view) { var knob = (view as MonoBehaviour).GetComponentInParent <InputKnob>(); using (var comm = new StateCommand("Add connection")) knob.SetInputConnection(GetComponentInParent <OutputKnob>()); }
private void DeleteSelected() { var uis = graph.LinesHolder.GetComponentsInChildren <LineController>(); foreach (var ui in uis) { if (ui.LineIsSelected) { using (var command = new StateCommand("Remove join")) DeleteLine(ui); return; } } var nodes = graph.NodesHolder.GetComponentsInChildren <Node>(); foreach (var node in nodes) { if (node.Selected) { using (var command = new StateCommand("Remove node")) node.Remove(); } } }
public void Rename() { Bus.ClosePopupMenu += true; UIManager.ShowDialogInput(null, "Enter new name:", HeaderText, onClosed: (res) => { if (string.IsNullOrWhiteSpace(res)) { return; } if (!GraphHelper.CheckNodeName(res)) { UIManager.ShowDialog(null, "Incorrect name", "Ok"); return; } using (var command = new StateCommand("Rename node")) { //rename var oldFolder = FullFolderPath; HeaderText = res; var newFolder = FullFolderPath; Directory.Move(oldFolder, newFolder); } //refresh RefreshNode(); }); }
internal static void AddNode(Graph graph, string folder) { using (var command = new StateCommand("Add node")) { var node = GameObject.Instantiate(graph.NodePrefab, graph.NodesHolder.transform); node.Init(); node.transform.position = new Vector3(Screen.width / 2, Screen.height / 2); node.HeaderText = Path.GetFileName(folder); node.SourceLibraryFolder = folder; node.RemoveKnobs(); node.AddKnobsFromSource(folder); } }
internal static void CloneNode(Graph graph, Node source) { using (var command = new StateCommand("Clone node")) { var node = GameObject.Instantiate(graph.NodePrefab, graph.NodesHolder.transform); node.Init(); node.transform.position = new Vector3(Screen.width / 2, Screen.height / 2); node.HeaderText = source.HeaderText; node.SourceLibraryFolder = source.SourceLibraryFolder; node.RemoveKnobs(); node.AddKnobsFromSource(source.FullFolderPath); SaverLoader.Save(Graph.Instance, Graph.Instance.SceneFilePath); SaverLoader.CopyFilesRecursively(new DirectoryInfo(source.FullFolderPath), new DirectoryInfo(node.FullFolderPath), true); } Bus.SceneChanged += true; }