Exemple #1
0
        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));
        }
Exemple #4
0
        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);
        }