Exemple #1
0
        public void DropIn(IDraggable view)
        {
            var knob = (view as MonoBehaviour).GetComponentInParent <InputKnob>();

            using (var comm = new StateCommand("Add connection"))
                knob.SetInputConnection(GetComponentInParent <OutputKnob>());
        }
Exemple #2
0
        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();
                }
            }
        }
Exemple #3
0
        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();
            });
        }
Exemple #4
0
 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);
     }
 }
Exemple #5
0
 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;
 }