private void SetEntry([NotNull] string entryName, [NotNull] byte[] entryData) { _entries[entryName] = new AcdEntry { Name = entryName, Data = entryData }; }
public void EnsureFullyLoaded() { if (_packedFile != null) { using (var reader = new AcdReader(_packedFile)) { while (reader.BaseStream.Position < reader.BaseStream.Length) { var entry = reader.ReadEntry(); if (!_entries.ContainsKey(entry.Name)) { _entries[entry.Name] = entry; } } } } else if (_unpackedDirectory != null) { foreach (var file in Directory.GetFiles(_unpackedDirectory)) { var name = Path.GetFileName(file); if (name != null && (!_entries.ContainsKey(name) || _entries[name] == null)) { _entries[name] = new AcdEntry { Name = name, Data = File.ReadAllBytes(file) }; } } } }
public void Write(AcdEntry entry) { Write(entry.Name); Write(entry.Data.Length); for (var i = 0; i < entry.Data.Length; i++) { Write((uint)_enc.Encrypt(entry.Data[i], i)); } }
public void Write([NotNull] AcdEntry entry) { if (entry == null) { throw new ArgumentNullException(nameof(entry)); } Write(entry.Name); Write(entry.Data.Length); var result = new byte[entry.Data.Length * 4]; _enc.Encrypt(entry.Data, result); Write(result); }
public void SetEntry(string entryName, byte[] entryData) { Entries[entryName] = new AcdEntry { Name = entryName, Data = entryData }; }