Exemple #1
0
        public override IList <LoadedDatabaseFile> LoadFiles(Database database, string directory)
        {
            List <LoadedDatabaseFile> files = new List <LoadedDatabaseFile>();

            foreach (var file in GetFilesToLoad(directory))
            {
                //var standardVaultPack = new StandardVaultPack();
                using var br = new BinaryReader(File.OpenRead(file));

                IVaultPack vaultPack = new StandardVaultPack();
                string     group     = "main";

                if (file.Contains("gc.vaults"))
                {
                    vaultPack = new GameplayVault(null);
                    group     = "gameplay";
                }

                var vaults = vaultPack.Load(br, database, new PackLoadingOptions());

                var loadedDatabaseFile = new LoadedDatabaseFile
                {
                    Name         = Path.GetFileNameWithoutExtension(file),
                    Group        = group,
                    Vaults       = vaults.Select(v => v.Name).ToList(),
                    LoadedVaults = new List <Vault>(vaults)
                };

                files.Add(loadedDatabaseFile);
            }

            return(files);
        }
Exemple #2
0
        public override IList <LoadedDatabaseFile> Load(Database database, string directory)
        {
            string[]      paths = new[] { "c4schema.res", "c4indbcontent.res" };
            AttribSysPack pack  = new AttribSysPack();
            IList <LoadedDatabaseFile> files = new List <LoadedDatabaseFile>();

            foreach (string path in paths)
            {
                string fullPath = Path.Combine(directory, path);

                using BinaryReader br = new BinaryReader(File.OpenRead(fullPath));
                IList <Vault> vaults = pack.Load(br, database, new PackLoadingOptions());

                Debug.WriteLine("loaded {0} vaults from {1}", vaults.Count, fullPath);

                DatabaseLoadedFile dlf = new DatabaseLoadedFile();
                dlf.Vaults.AddRange(vaults);

                database.Files.Add(dlf);

                LoadedDatabaseFile file = new LoadedDatabaseFile(fullPath, vaults, string.Empty);
                files.Add(file);
            }

            return(files);
        }
Exemple #3
0
        public override IList <LoadedDatabaseFile> Load(Database database, string directory)
        {
            IEnumerable <string>      paths = GetFilesToLoad();
            StandardVaultPack         svp   = new StandardVaultPack();
            List <LoadedDatabaseFile> files = new List <LoadedDatabaseFile>();

            foreach (var path in paths)
            {
                string[] parts    = path.Split(':');
                string   fullPath = Path.Combine(directory, "GLOBAL", parts[0]);

                using BinaryReader br = new BinaryReader(File.OpenRead(fullPath));
                IList <Vault> vaults = svp.Load(br, database, new PackLoadingOptions());

                Debug.WriteLine("loaded {0} vaults from {1}", vaults.Count, fullPath);

                DatabaseLoadedFile dlf = new DatabaseLoadedFile();
                dlf.Vaults.AddRange(vaults);

                database.Files.Add(dlf);

                LoadedDatabaseFile file = new LoadedDatabaseFile(fullPath, vaults, parts[1]);
                files.Add(file);
            }

            return(files);
        }
Exemple #4
0
        public override IList <LoadedDatabaseFile> LoadFiles(Database database, string directory)
        {
            List <LoadedDatabaseFile> files = new List <LoadedDatabaseFile>();

            foreach (var file in GetFilesToLoad(directory))
            {
                var path = Path.Combine(directory, file);
                var standardVaultPack = new StandardVaultPack();
                using var br = new BinaryReader(File.OpenRead(path));
                var vaults = standardVaultPack.Load(br, database, new PackLoadingOptions());

                var loadedDatabaseFile = new LoadedDatabaseFile
                {
                    Name         = Path.GetFileNameWithoutExtension(file),
                    Group        = "main",
                    Vaults       = vaults.Select(v => v.Name).ToList(),
                    LoadedVaults = new List <Vault>(vaults)
                };

                files.Add(loadedDatabaseFile);
            }

            return(files);
        }