private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            string path = PathControl.GetPath();

            if (!System.IO.Directory.Exists(path))
            {
                return;
            }

            DirectoryInfo directInfo = new DirectoryInfo(path);
            var           files      = directInfo.GetFiles("*.*", SearchOption.AllDirectories);
            string        destDirect = System.IO.Path.Combine(path, "CombineFiles");
            int           idx        = 0;

            foreach (FileInfo filePath in files)
            {
                string combineDirect = System.IO.Path.Combine(destDirect, filePath.Extension.Replace('.', '_'));
                System.IO.Directory.CreateDirectory(combineDirect);
                //string combineFile = combineDirect + "\\" + filePath.FullName.Replace('\\', '_').Replace(':','_');
                //if (combineFile.Length < 260)
                //{
                //    filePath.CopyTo(combineFile);
                //}
                //else
                {
                    int dotIdx = filePath.Name.IndexOf('.');
                    if (dotIdx > 0)
                    {
                        string fileName    = filePath.Name.Remove(filePath.Name.IndexOf('.')) + (idx++) + filePath.Extension;
                        string combineName = combineDirect + "\\" + fileName;
                        filePath.CopyTo(combineName);
                    }
                }
            }
        }
Exemplo n.º 2
0
    // Start is called before the first frame update
    void Start()
    {
        controller = GetComponent <Rigidbody>();
        GameObject model = transform.parent.gameObject;

        modelScript = model.GetComponent <PathControl>();
        audioSource = GetComponent <AudioSource>();
    }
Exemplo n.º 3
0
        private void CreateChildNode(NodeControl parent, NodeType type)
        {
            Node parentNode = parent.DataContext as Node;
            Node node       = new Node
            {
                Type = type
            };
            NodeControl nodeControl = new NodeControl
            {
                DataContext = node
            };

            nodeControl.AddNewNode += NodeControl_AddNewNode;
            node.CanvasLeft         = Canvas.GetLeft(parent) + (node.Type == parentNode.Type ? 400 : 200);
            node.CanvasTop          = Canvas.GetTop(parent);

            if ((node.CanvasLeft + 150) / 400 > max)
            {
                max++;
                DrawYearLine(max);
            }

            PathItem path = new PathItem(parentNode, node)
            {
                Type = parentNode.Type
            };
            PathControl pathControl = new PathControl
            {
                DataContext = path
            };
            MultiBinding multiBinding = new MultiBinding();

            multiBinding.Converter = converter;
            multiBinding.Bindings.Add(new Binding("(Canvas.Left)")
            {
                Source = parent
            });
            multiBinding.Bindings.Add(new Binding("(Canvas.Top)")
            {
                Source = parent
            });
            multiBinding.Bindings.Add(new Binding("(Canvas.Left)")
            {
                Source = nodeControl
            });
            multiBinding.Bindings.Add(new Binding("(Canvas.Top)")
            {
                Source = nodeControl
            });
            multiBinding.NotifyOnSourceUpdated = true;
            pathControl.SetBinding(PathControl.PositionsProperty, multiBinding);
            pathControl.MouseDown += (s, e) =>
            {
                viewModel.Selected = ((FrameworkElement)s).DataContext;
            };
            nodeControl.DeleteNode += (s, e) =>
            {
                parentNode.Paths.Remove(path);
                canvas.Children.Remove(nodeControl);
                canvas.Children.Remove(pathControl);
            };

            canvas.Children.Add(nodeControl);
            canvas.Children.Add(pathControl);
            CreateDragDrop(nodeControl);
        }
Exemplo n.º 4
0
        private void CreateNodeRecursive(NodeControl parent, PathItem path)
        {
            Node parentNode = parent.DataContext as Node;

            path.Source            = parentNode;
            path.Target.ParentPath = path;
            NodeControl nodeControl = new NodeControl
            {
                DataContext = path.Target
            };

            path.Target.CanvasLeft = parentNode.CanvasLeft + (parentNode.Type == path.Target.Type ? 400 : 200);

            if ((parentNode.CanvasLeft + 150) / 400 > max)
            {
                max++;
                DrawYearLine(max);
            }
            nodeControl.AddNewNode += NodeControl_AddNewNode;
            canvas.Children.Add(nodeControl);
            foreach (var p in path.Target.Paths)
            {
                CreateNodeRecursive(nodeControl, p);
            }


            PathControl pathControl = new PathControl
            {
                DataContext = path
            };
            MultiBinding multiBinding = new MultiBinding();

            multiBinding.Converter = converter;
            multiBinding.Bindings.Add(new Binding("(Canvas.Left)")
            {
                Source = parent
            });
            multiBinding.Bindings.Add(new Binding("(Canvas.Top)")
            {
                Source = parent
            });
            multiBinding.Bindings.Add(new Binding("(Canvas.Left)")
            {
                Source = nodeControl
            });
            multiBinding.Bindings.Add(new Binding("(Canvas.Top)")
            {
                Source = nodeControl
            });
            multiBinding.NotifyOnSourceUpdated = true;
            pathControl.SetBinding(PathControl.PositionsProperty, multiBinding);
            pathControl.MouseDown += (s, e) =>
            {
                viewModel.Selected = ((FrameworkElement)s).DataContext;
            };
            nodeControl.DeleteNode += (s, e) =>
            {
                parentNode.Paths.Remove(path);
                canvas.Children.Remove(nodeControl);
                canvas.Children.Remove(pathControl);
            };

            canvas.Children.Add(pathControl);
            CreateDragDrop(nodeControl);
        }
Exemplo n.º 5
0
        public PathControl GetPathControl(int sId, int eId)
        {
            PathControl pc = new PathControl(FindWay(sId, eId));

            return(pc);
        }