Ejemplo n.º 1
0
        /// <summary>
        /// Create a HashTable with the needed Names from the UI xml File
        /// </summary>
        /// <param name="version">Version where you want to load the Description from</param>
        void ParseXml(SimPe.PackedFiles.Wrapper.SDescVersions version)
        {
            map = new Hashtable();
            Interfaces.Scenegraph.IScenegraphFileIndexItem[] items = FileTable.FileIndex.FindFile(0x00000000, 0xCDA53B6F, 0x2D7EE26B, null);

            System.Collections.Generic.Dictionary <SimPe.PackedFiles.Wrapper.SDescVersions, string> vmap = new System.Collections.Generic.Dictionary <SimPe.PackedFiles.Wrapper.SDescVersions, string>();

            vmap[version] = PathProvider.Global.Latest.InstallFolder.Trim().ToLower();
            foreach (ExpansionItem ei in PathProvider.Global.Expansions)
            {
                if (ei.Flag.Class == ExpansionItem.Classes.ExpansionPack)
                {
                    SimPe.PackedFiles.Wrapper.SDescVersions ver = SimPe.PackedFiles.Wrapper.SDesc.GetMinVersion(ei.Expansion);

                    vmap [ver] = ei.InstallFolder.Trim().ToLower();
                    if (ver == SimPe.PackedFiles.Wrapper.SDescVersions.Voyage)
                    {
                        vmap[SimPe.PackedFiles.Wrapper.SDescVersions.VoyageB] = ei.InstallFolder.Trim().ToLower();
                    }
                }
            }
            foreach (Interfaces.Scenegraph.IScenegraphFileIndexItem item in items)
            {
                if (!vmap.ContainsKey(version))
                {
                    continue;
                }

                string s = vmap[version];
                if (s != null && s != "")
                {
                    if (!item.Package.SaveFileName.Trim().ToLower().StartsWith(s))
                    {
                        continue;
                    }
                }

                SimPe.PackedFiles.Wrapper.Xml xml = new SimPe.PackedFiles.Wrapper.Xml();
                xml.ProcessData(item);

                ParseXml(xml.Text);
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Create a New Instance
 /// </summary>
 public WantNameLoader(SimPe.PackedFiles.Wrapper.SDescVersions version)
 {
     ParseXml(version);
 }