Exemplo n.º 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);
        }
Exemplo n.º 2
0
        public AttribService(ILogger <AttribService> logger,
                             GameplayVault gameplayVault)
        {
            _logger        = logger;
            _gameplayVault = gameplayVault;

            HashManager.LoadDictionary(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"data\hashes.txt"));
        }
Exemplo n.º 3
0
        public override void SaveFiles(Database database, string directory, IList <LoadedDatabaseFile> files)
        {
            foreach (var file in files)
            {
                var vaultsToSave = file.Vaults.Select(database.FindVault).ToList();

                IVaultPack vaultPack = new StandardVaultPack();

                if (file.Group == "gameplay")
                {
                    vaultPack = new GameplayVault(file.Name);
                }

                //var standardVaultPack = new StandardVaultPack();
                Directory.CreateDirectory(Path.Combine(directory, file.Group));
                var outPath = Path.Combine(directory, file.Group, file.Name + ".bin");
                Debug.WriteLine("Saving file '{0}' to '{1}' ({2} vaults)", file.Name, outPath, vaultsToSave.Count);
                using var bw = new BinaryWriter(File.Open(outPath, FileMode.Create, FileAccess.ReadWrite));
                vaultPack.Save(bw, vaultsToSave, new PackSavingOptions());
                bw.Close();
            }
        }