/// <summary>
 /// Creates the VPK required to extract VPK files.
 /// </summary>
 /// <param name="VPKLocation">The location of the VPK files.</param>
 /// <returns>True on success, false on failure.</returns>
 public static void CreateIndex(string VPKLocation)
 {
     VPKIndex index = new VPKIndex(VPKLocation);
 }
        /// <summary>
        /// Starts extraction.
        /// </summary>
        /// <returns>Returns true on success, false on failure.</returns>
        public bool StartNow()
        {
            if (Vextract == null)
                return false;

            if (OnStartExtraction != null)
                OnStartExtraction();

            if (VPKIndex.Exists == false)
            {
                if (vpkDirectory == null)
                {
                    return false;
                }

                AppendText(TranslationProvider.Translate("!Vextract_VPKIndex"));
                VPKIndex index = new VPKIndex(vpkDirectory);
                AppendText(TranslationProvider.Translate("!Vextract_VPKIndex_Done") + Environment.NewLine);
            }
            if (outputDirectory != null && filePattern != null)
            {
                StartButton.Visible = false;
                CancelButton.Visible = true;
                UpdateUITimer.Start();
                VextractWorker.RunWorkerAsync();
                return true;
            }
            else
                return false;
        }
 /// <summary>
 /// Creates a new instance of the VPKIndexEnumerator class.
 /// </summary>
 /// <param name="Index"></param>
 public VPKIndexEnumerator(VPKIndex Index)
 {
     indexObject = Index;
 }