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); } } } }
// 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>(); }
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); }
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); }
public PathControl GetPathControl(int sId, int eId) { PathControl pc = new PathControl(FindWay(sId, eId)); return(pc); }