Пример #1
0
        /// <summary>
        /// Extract all files
        /// </summary>
        private void buttonExtractPackage_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog FBD = new FolderBrowserDialog();

            if (FBD.ShowDialog() == DialogResult.OK)
            {
                string ContainingPath = FBD.SelectedPath;
                if (checkBoxExtractMakeFolder.Checked)
                {
                    ContainingPath += '\\' + SelectedExtract.FileName + '_' + TimeStamp();
                }

                if (!Directory.Exists(ContainingPath))
                {
                    Directory.CreateDirectory(ContainingPath);
                }

                foreach (TreeNode Node in treeViewExtract.Nodes)
                {
                    if (Node.Tag == null)
                    {
                        // Directory Extract
                        ExtractDirectory(Node, ContainingPath);
                    }
                    else
                    {
                        // Single File Extract
                        Unity3d.File File = (Unity3d.File)Node.Tag;
                        File.Extract(ContainingPath + '\\' + Path.GetFileName(File.Name));
                    }
                }
            }
        }
Пример #2
0
 /// <summary>
 /// Extract directory of files from TreeNode
 /// </summary>
 private void ExtractDirectory(TreeNode Node, string ContainingPath)
 {
     ContainingPath += '\\' + Node.Text;
     if (!Directory.Exists(ContainingPath))
     {
         Directory.CreateDirectory(ContainingPath);
     }
     foreach (TreeNode Child in Node.Nodes)
     {
         if (Child.Tag == null)
         {
             // Another Directory
             ExtractDirectory(Child, ContainingPath);
         }
         else
         {
             // File
             Unity3d.File File = (Unity3d.File)Child.Tag;
             File.Extract(ContainingPath + '\\' + Path.GetFileName(File.Name));
         }
     }
 }
Пример #3
0
 /// <summary>
 /// Extract single node from treeview
 /// </summary>
 private void ExtractMenuExtract_Click(object sender, EventArgs e)
 {
     if (LastNode.Tag == null)
     {
         // Directory Extract
         FolderBrowserDialog FBD = new FolderBrowserDialog();
         if (FBD.ShowDialog() == DialogResult.OK)
         {
             ExtractDirectory(LastNode, FBD.SelectedPath);
         }
     }
     else
     {
         // Single File Extract
         SaveFileDialog SFD  = new SaveFileDialog();
         Unity3d.File   File = (Unity3d.File)LastNode.Tag;
         SFD.FileName = File.Name;
         if (SFD.ShowDialog() == DialogResult.OK)
         {
             File.Extract(SFD.FileName);
         }
     }
 }