private async void GenerateFromFolderButton_OnClick(object pSender, RoutedEventArgs pE)
        {
            CommonOpenFileDialog dialog = new CommonOpenFileDialog {
                IsFolderPicker = true
            };

            dialog.ShowDialog();

            string[]        bindingFiles           = Directory.GetFiles(dialog.FileName, "*_Binding*.*", SearchOption.AllDirectories);
            string[]        headerFiles            = Directory.GetFiles(dialog.FileName, "*.h", SearchOption.AllDirectories).Except(bindingFiles).ToArray();
            string[]        cFiles                 = Directory.GetFiles(dialog.FileName, "*.c*", SearchOption.AllDirectories).Except(bindingFiles).ToArray();
            TSClassMetaData GeneratedClassMetaData = new TSClassMetaData
            {
                Classes   = new List <EngineClass>(),
                Functions = new List <CFunction>(),
                Fields    = new List <T6Field>()
            };

            GenerateProgressBar.Maximum = bindingFiles.Count();
            GenerateProgressBar.Value   = 0;
            foreach (string file in bindingFiles)
            {
                string _file = file;
                await Task.Run(() => GeneratedClassMetaData.AddBindingFile(_file));

                GenerateProgressBar.Value++;
            }
            GenerateProgressBar.Maximum = headerFiles.Count();
            GenerateProgressBar.Value   = 0;
            foreach (string file in headerFiles)
            {
                string _file = file;
                await Task.Run(() => GeneratedClassMetaData.AddHeaderFile(_file));

                GenerateProgressBar.Value++;
            }
            GenerateProgressBar.Maximum = cFiles.Count();
            GenerateProgressBar.Value   = 0;
            foreach (string file in cFiles)
            {
                string _file = file;
                await Task.Run(() => GeneratedClassMetaData.AddCFile(_file));

                GenerateProgressBar.Value++;
            }

            GeneratedClassMetaData.GenerateHierarchy();
            GeneratedClassMetaData.SetFunctionNamespaces();

            GeneratedClassMetaData.WriteToXML("T6ScriptMetaData.xml");
        }