public static void Pack(string path, U8EntryNode parent) { foreach (var file in Directory.EnumerateFiles(path)) { Console.WriteLine(file); var node = new ARCEntryNode { Name = Path.GetFileName(file) }; parent.AddChild(node); byte[] data = File.ReadAllBytes(file); using (var ms = new MemoryStream(data)) { node.Initialize(parent, new DataSource(ms)); } } foreach (var directory in Directory.EnumerateDirectories(path)) { Console.WriteLine(directory); var node = new U8FolderNode { Name = Path.GetFileName(directory) }; parent.AddChild(node); Pack(directory, node); } }
public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { ARCEntryNode entry = context.Instance as ARCEntryNode; if (entry.Parent == null) { return(null); } List <ARCEntryNode> list = entry.Parent.Children.Select(x => x as ARCEntryNode).ToList(); list.Remove(entry); return(new StandardValuesCollection(list)); }
public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { ARCEntryNode entry = context.Instance as ARCEntryNode; List <ARCEntryNode> list = new List <ARCEntryNode>(); list.Add(new ARCEntryNode()); if (entry.Parent != null) { list.AddRange(entry.Parent.Children.Select(x => x as ARCEntryNode).ToList()); list.Remove(entry); } return(new StandardValuesCollection(list)); }
public ARCEntryNode NewRedirect() { ARCEntryNode node = new ARCEntryNode { FileType = ARCFileType.MiscData, _resourceType = ResourceType.Redirect }; _resource.AddChild(node); node.RedirectIndex = 0; BaseWrapper w = FindResource(node, false); w.EnsureVisible(); w.TreeView.SelectedNode = w; return(node); }