mirror of https://github.com/tuyoogame/YooAsset
parent
ecd4973948
commit
bd87e982ef
|
@ -195,6 +195,7 @@ namespace YooAsset
|
||||||
// 3. 检测APK拷贝文件结果
|
// 3. 检测APK拷贝文件结果
|
||||||
if (_steps == ESteps.CheckDownloadFromApk)
|
if (_steps == ESteps.CheckDownloadFromApk)
|
||||||
{
|
{
|
||||||
|
Progress = _fileRequester.Progress();
|
||||||
if (_fileRequester.IsDone() == false)
|
if (_fileRequester.IsDone() == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -336,6 +337,7 @@ namespace YooAsset
|
||||||
// 3. 检测服务器下载结果
|
// 3. 检测服务器下载结果
|
||||||
if (_steps == ESteps.CheckDownloadFromWeb)
|
if (_steps == ESteps.CheckDownloadFromWeb)
|
||||||
{
|
{
|
||||||
|
Progress = _downloader.DownloadProgress;
|
||||||
if (_downloader.IsDone() == false)
|
if (_downloader.IsDone() == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -363,6 +365,7 @@ namespace YooAsset
|
||||||
// 5. 检测APK拷贝文件结果
|
// 5. 检测APK拷贝文件结果
|
||||||
if (_steps == ESteps.CheckDownloadFromApk)
|
if (_steps == ESteps.CheckDownloadFromApk)
|
||||||
{
|
{
|
||||||
|
Progress = _fileRequester.Progress();
|
||||||
if (_fileRequester.IsDone() == false)
|
if (_fileRequester.IsDone() == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
@ -26,19 +26,6 @@ namespace YooAsset
|
||||||
private Scene _scene;
|
private Scene _scene;
|
||||||
private AsyncOperation _asyncOp;
|
private AsyncOperation _asyncOp;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 场景卸载进度
|
|
||||||
/// </summary>
|
|
||||||
public float Progress
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
if (_asyncOp == null)
|
|
||||||
return 0;
|
|
||||||
return _asyncOp.progress;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
internal UnloadSceneOperation(string error)
|
internal UnloadSceneOperation(string error)
|
||||||
{
|
{
|
||||||
_flag = EFlag.Error;
|
_flag = EFlag.Error;
|
||||||
|
@ -87,6 +74,7 @@ namespace YooAsset
|
||||||
|
|
||||||
if (_steps == ESteps.Checking)
|
if (_steps == ESteps.Checking)
|
||||||
{
|
{
|
||||||
|
Progress = _asyncOp.progress;
|
||||||
if (_asyncOp.isDone == false)
|
if (_asyncOp.isDone == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ namespace YooAsset
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (IsDone)
|
if (IsDone)
|
||||||
return 100f;
|
return 1f;
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ namespace YooAsset
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (IsDone)
|
if (IsDone)
|
||||||
return 100f;
|
return 1f;
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ namespace YooAsset
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 下载进度(0-100f)
|
/// 下载进度
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public float DownloadProgress
|
public float DownloadProgress
|
||||||
{
|
{
|
||||||
|
|
|
@ -53,7 +53,7 @@ namespace YooAsset
|
||||||
// 检测下载结果
|
// 检测下载结果
|
||||||
if (_steps == ESteps.CheckDownload)
|
if (_steps == ESteps.CheckDownload)
|
||||||
{
|
{
|
||||||
_downloadProgress = _webRequest.downloadProgress * 100f;
|
_downloadProgress = _webRequest.downloadProgress;
|
||||||
_downloadedBytes = _webRequest.downloadedBytes;
|
_downloadedBytes = _webRequest.downloadedBytes;
|
||||||
if (_operationHandle.isDone == false)
|
if (_operationHandle.isDone == false)
|
||||||
{
|
{
|
||||||
|
|
|
@ -203,7 +203,7 @@ namespace YooAsset
|
||||||
|
|
||||||
if (_steps == ESteps.CheckDownload)
|
if (_steps == ESteps.CheckDownload)
|
||||||
{
|
{
|
||||||
_downloadProgress = _threadDownloader.DownloadProgress * 100f;
|
_downloadProgress = _threadDownloader.DownloadProgress;
|
||||||
_downloadedBytes = _threadDownloader.DownloadedBytes;
|
_downloadedBytes = _threadDownloader.DownloadedBytes;
|
||||||
if (_threadDownloader.IsDone == false)
|
if (_threadDownloader.IsDone == false)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -83,6 +83,16 @@ namespace YooAsset
|
||||||
return _operationHandle.isDone;
|
return _operationHandle.isDone;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 下载进度
|
||||||
|
/// </summary>
|
||||||
|
public float Progress()
|
||||||
|
{
|
||||||
|
if (_operationHandle == null)
|
||||||
|
return 0;
|
||||||
|
return _operationHandle.progress;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 下载是否发生错误
|
/// 下载是否发生错误
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -60,6 +60,16 @@ namespace YooAsset
|
||||||
return _operationHandle.isDone;
|
return _operationHandle.isDone;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 下载进度
|
||||||
|
/// </summary>
|
||||||
|
public float Progress()
|
||||||
|
{
|
||||||
|
if (_operationHandle == null)
|
||||||
|
return 0;
|
||||||
|
return _operationHandle.progress;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 下载是否发生错误
|
/// 下载是否发生错误
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -18,7 +18,12 @@ namespace YooAsset
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 错误信息
|
/// 错误信息
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Error { get; protected set; } = string.Empty;
|
public string Error { get; protected set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 处理进度
|
||||||
|
/// </summary>
|
||||||
|
public float Progress { get; protected set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否已经完成
|
/// 是否已经完成
|
||||||
|
@ -70,8 +75,8 @@ namespace YooAsset
|
||||||
internal abstract void Update();
|
internal abstract void Update();
|
||||||
internal void Finish()
|
internal void Finish()
|
||||||
{
|
{
|
||||||
|
Progress = 1f;
|
||||||
_callback?.Invoke(this);
|
_callback?.Invoke(this);
|
||||||
|
|
||||||
if (_taskCompletionSource != null)
|
if (_taskCompletionSource != null)
|
||||||
_taskCompletionSource.TrySetResult(null);
|
_taskCompletionSource.TrySetResult(null);
|
||||||
}
|
}
|
||||||
|
|
|
@ -145,6 +145,7 @@ namespace YooAsset
|
||||||
{
|
{
|
||||||
_lastDownloadBytes = downloadBytes;
|
_lastDownloadBytes = downloadBytes;
|
||||||
_lastDownloadCount = CurrentDownloadCount;
|
_lastDownloadCount = CurrentDownloadCount;
|
||||||
|
Progress = (float)_lastDownloadBytes / TotalDownloadBytes;
|
||||||
OnDownloadProgressCallback?.Invoke(TotalDownloadCount, _lastDownloadCount, TotalDownloadBytes, _lastDownloadBytes);
|
OnDownloadProgressCallback?.Invoke(TotalDownloadCount, _lastDownloadCount, TotalDownloadBytes, _lastDownloadBytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -108,6 +108,7 @@ namespace YooAsset
|
||||||
if (_steps == ESteps.Update)
|
if (_steps == ESteps.Update)
|
||||||
{
|
{
|
||||||
_appManifestLoader.Update();
|
_appManifestLoader.Update();
|
||||||
|
Progress = _appManifestLoader.Progress();
|
||||||
if (_appManifestLoader.IsDone() == false)
|
if (_appManifestLoader.IsDone() == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -181,6 +182,7 @@ namespace YooAsset
|
||||||
if (_steps == ESteps.Update)
|
if (_steps == ESteps.Update)
|
||||||
{
|
{
|
||||||
_appManifestLoader.Update();
|
_appManifestLoader.Update();
|
||||||
|
Progress = _appManifestLoader.Progress();
|
||||||
if (_appManifestLoader.IsDone() == false)
|
if (_appManifestLoader.IsDone() == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -243,6 +245,16 @@ namespace YooAsset
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 加载进度
|
||||||
|
/// </summary>
|
||||||
|
public float Progress()
|
||||||
|
{
|
||||||
|
if (_downloader2 == null)
|
||||||
|
return 0;
|
||||||
|
return _downloader2.Progress();
|
||||||
|
}
|
||||||
|
|
||||||
public void Update()
|
public void Update()
|
||||||
{
|
{
|
||||||
if (IsDone())
|
if (IsDone())
|
||||||
|
|
|
@ -172,6 +172,7 @@ namespace YooAsset
|
||||||
|
|
||||||
if (_steps == ESteps.UpdateVerifyingCache)
|
if (_steps == ESteps.UpdateVerifyingCache)
|
||||||
{
|
{
|
||||||
|
Progress = GetVerifyProgress();
|
||||||
if (UpdateVerifyingCache())
|
if (UpdateVerifyingCache())
|
||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
|
@ -258,6 +259,7 @@ namespace YooAsset
|
||||||
private readonly List<PatchBundle> _verifyingList = new List<PatchBundle>(100);
|
private readonly List<PatchBundle> _verifyingList = new List<PatchBundle>(100);
|
||||||
private readonly ThreadSyncContext _syncContext = new ThreadSyncContext();
|
private readonly ThreadSyncContext _syncContext = new ThreadSyncContext();
|
||||||
private int _verifyMaxNum = 32;
|
private int _verifyMaxNum = 32;
|
||||||
|
private int _verifyTotalCount = 0;
|
||||||
private int _verifySuccessCount = 0;
|
private int _verifySuccessCount = 0;
|
||||||
private int _verifyFailCount = 0;
|
private int _verifyFailCount = 0;
|
||||||
|
|
||||||
|
@ -290,6 +292,7 @@ namespace YooAsset
|
||||||
ThreadPool.GetMaxThreads(out int workerThreads, out int ioThreads);
|
ThreadPool.GetMaxThreads(out int workerThreads, out int ioThreads);
|
||||||
YooLogger.Log($"Work threads : {workerThreads}, IO threads : {ioThreads}");
|
YooLogger.Log($"Work threads : {workerThreads}, IO threads : {ioThreads}");
|
||||||
_verifyMaxNum = Math.Min(workerThreads, ioThreads);
|
_verifyMaxNum = Math.Min(workerThreads, ioThreads);
|
||||||
|
_verifyTotalCount = _waitingList.Count;
|
||||||
}
|
}
|
||||||
private bool UpdateVerifyingCache()
|
private bool UpdateVerifyingCache()
|
||||||
{
|
{
|
||||||
|
@ -358,6 +361,12 @@ namespace YooAsset
|
||||||
}
|
}
|
||||||
_verifyingList.Remove(info.Bundle);
|
_verifyingList.Remove(info.Bundle);
|
||||||
}
|
}
|
||||||
|
private float GetVerifyProgress()
|
||||||
|
{
|
||||||
|
if (_verifyTotalCount == 0)
|
||||||
|
return 1f;
|
||||||
|
return (float)(_verifySuccessCount + _verifyFailCount) / _verifyTotalCount;
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -111,6 +111,7 @@ namespace YooAsset
|
||||||
|
|
||||||
if (_steps == ESteps.CheckWebManifest)
|
if (_steps == ESteps.CheckWebManifest)
|
||||||
{
|
{
|
||||||
|
Progress = _downloaderManifest.Progress();
|
||||||
if (_downloaderManifest.IsDone() == false)
|
if (_downloaderManifest.IsDone() == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
@ -87,6 +87,7 @@ namespace YooAsset
|
||||||
|
|
||||||
if (_steps == ESteps.CheckStaticVersion)
|
if (_steps == ESteps.CheckStaticVersion)
|
||||||
{
|
{
|
||||||
|
Progress = _downloader.Progress();
|
||||||
if (_downloader.IsDone() == false)
|
if (_downloader.IsDone() == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -105,7 +106,7 @@ namespace YooAsset
|
||||||
Status = EOperationStatus.Succeed;
|
Status = EOperationStatus.Succeed;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Failed;
|
Status = EOperationStatus.Failed;
|
||||||
Error = $"URL : {_downloader.URL} Error : static version content is invalid.";
|
Error = $"URL : {_downloader.URL} Error : static version content is invalid.";
|
||||||
|
|
Loading…
Reference in New Issue