static public void ScanDependencies()
        {
            //save all files
            DB.DependencyBuilder ib   = new DB.DependencyBuilder();
            TagFileName          stfn = new TagFileName(m_ScenarioData.TagFilename, m_ScenarioData.Header.GameVersion, TagSource.LocalProject);

            ib.ProcessDependants(stfn);

            string[] temp = DB.DependencyBuilder.mapfileTagsIndex.RelativePathList;
            for (int i = 0; i < temp.Length; i++)
            {
                Trace.WriteLine("Tag Dependency: " + temp[i]);
            }


            Trace.WriteLine("Broken Dependency List");
            string[] broken         = DB.DependencyBuilder.brokenDependencies.RelativePathList;
            string[] broken_parents = DB.DependencyBuilder.brokenDependenciesParents.RelativePathList;
            for (int i = 0; i < broken.Length; i++)
            {
                Trace.WriteLine("Broken Dependency: " + broken[i]);
            }

            for (int i = 0; i < broken_parents.Length; i++)
            {
                if (broken_parents[i] != null)
                {
                    Trace.WriteLine("Broken Parent: " + broken_parents[i]);
                }
                else
                {
                    Trace.WriteLine("Broken Parent: none");
                }
            }
        }
        private void simpleButtonAddPrefabTag_Click(object sender, System.EventArgs e)
        {
            TagBrowserDialog dlg = new TagBrowserDialog(MapfileVersion.HALOPC);

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                DependencyBuilder ib = new DependencyBuilder();
                ib.ProcessDependants(dlg.SelectedTag);

                string[] temp = DependencyBuilder.mapfileTagsIndex.RelativePathList;
                for (int i = 0; i < temp.Length; i++)
                {
                    Trace.WriteLine("Tag Dependency: " + temp[i]);
                }


                Trace.WriteLine("Broken Dependency List");
                string[] broken         = DependencyBuilder.brokenDependencies.RelativePathList;
                string[] broken_parents = DependencyBuilder.brokenDependenciesParents.RelativePathList;
                for (int i = 0; i < broken.Length; i++)
                {
                    Trace.WriteLine("Broken Dependency: " + broken[i]);
                }

                for (int i = 0; i < broken_parents.Length; i++)
                {
                    if (broken_parents[i] != null)
                    {
                        Trace.WriteLine("Broken Parent: " + broken_parents[i]);
                    }
                    else
                    {
                        Trace.WriteLine("Broken Parent: none");
                    }
                }
            }
        }