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)
};
}
}
}
}