var zFile = new ZipFile(randomStream) {Password = password };
onRunningPackageLoadTick?.Invoke(0.1F);
var entriesCount = zFile.Count;
for ( var i = 0; i < entriesCount;i++)
{
ZipEntry entry = zFile[i];
onRunningPackageLoadTick?.Invoke(0.1F + i/(float)entriesCount * 0.9F);
if (!entry.IsFile) continue;
var strContentNameOld = entry.Name.Substring(0, entry.Name.LastIndexOf("."));
var strContentNameNew = strContentNameOld.Replace("/", "@").Replace("\\", "@");
using (var entryStream = zFile.GetInputStream(entry))
{
using (var entryMemoryStream = new MemoryStream())
{
entryStream.CopyTo(entryMemoryStream);
entryMemoryStream.Seek(0L, SeekOrigin.Begin);
ContentStreamMap.Add(strContentNameNew, entryMemoryStream);
Load(strContentNameNew);
ContentStreamMap[strContentNameNew] = null;
ContentStreamMap.Remove(strContentNameNew);
}
}
}