Update RawFileOperation.cs

优化原生文件加载逻辑
pull/15/head
hevinci 2022-06-21 14:08:02 +08:00
parent 43248408fc
commit c0099cb90c
1 changed files with 30 additions and 4 deletions

View File

@ -203,7 +203,10 @@ namespace YooAsset
} }
else if (_bundleInfo.LoadMode == BundleInfo.ELoadMode.LoadFromStreaming) else if (_bundleInfo.LoadMode == BundleInfo.ELoadMode.LoadFromStreaming)
{ {
_steps = ESteps.DownloadFromApk; if (DownloadSystem.ContainsVerifyFile(_bundleInfo.Hash))
_steps = ESteps.CheckAndCopyFile;
else
_steps = ESteps.DownloadFromApk;
} }
else else
{ {
@ -235,7 +238,17 @@ namespace YooAsset
} }
else else
{ {
_steps = ESteps.CheckAndCopyFile; if (DownloadSystem.CheckContentIntegrity(GetCachePath(), _bundleInfo.SizeBytes, _bundleInfo.CRC))
{
DownloadSystem.CacheVerifyFile(_bundleInfo.Hash, _bundleInfo.BundleName);
_steps = ESteps.CheckAndCopyFile;
}
else
{
_steps = ESteps.Done;
Status = EOperationStatus.Failed;
Error = "File content verify failed !";
}
} }
_fileRequester.Dispose(); _fileRequester.Dispose();
} }
@ -342,7 +355,10 @@ namespace YooAsset
} }
else if (_bundleInfo.LoadMode == BundleInfo.ELoadMode.LoadFromStreaming) else if (_bundleInfo.LoadMode == BundleInfo.ELoadMode.LoadFromStreaming)
{ {
_steps = ESteps.DownloadFromApk; if (DownloadSystem.ContainsVerifyFile(_bundleInfo.Hash))
_steps = ESteps.CheckAndCopyFile;
else
_steps = ESteps.DownloadFromApk;
} }
else if (_bundleInfo.LoadMode == BundleInfo.ELoadMode.LoadFromCache) else if (_bundleInfo.LoadMode == BundleInfo.ELoadMode.LoadFromCache)
{ {
@ -405,7 +421,17 @@ namespace YooAsset
} }
else else
{ {
_steps = ESteps.CheckAndCopyFile; if (DownloadSystem.CheckContentIntegrity(GetCachePath(), _bundleInfo.SizeBytes, _bundleInfo.CRC))
{
DownloadSystem.CacheVerifyFile(_bundleInfo.Hash, _bundleInfo.BundleName);
_steps = ESteps.CheckAndCopyFile;
}
else
{
_steps = ESteps.Done;
Status = EOperationStatus.Failed;
Error = "File content verify failed !";
}
} }
_fileRequester.Dispose(); _fileRequester.Dispose();
} }