mirror of
https://github.com/tuyoogame/YooAsset.git
synced 2026-05-30 05:28:46 +00:00
style : resource manager
This commit is contained in:
@@ -23,7 +23,7 @@ namespace YooAsset
|
|||||||
add
|
add
|
||||||
{
|
{
|
||||||
if (IsValidWithWarning == false)
|
if (IsValidWithWarning == false)
|
||||||
throw new System.Exception($"{nameof(SceneHandle)} is invalid");
|
throw new System.Exception($"{nameof(SceneHandle)} is invalid !");
|
||||||
if (Provider.IsDone)
|
if (Provider.IsDone)
|
||||||
value.Invoke(this);
|
value.Invoke(this);
|
||||||
else
|
else
|
||||||
@@ -32,7 +32,7 @@ namespace YooAsset
|
|||||||
remove
|
remove
|
||||||
{
|
{
|
||||||
if (IsValidWithWarning == false)
|
if (IsValidWithWarning == false)
|
||||||
throw new System.Exception($"{nameof(SceneHandle)} is invalid");
|
throw new System.Exception($"{nameof(SceneHandle)} is invalid !");
|
||||||
_callback -= value;
|
_callback -= value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -168,13 +168,12 @@ namespace YooAsset
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 卸载子场景
|
// 卸载子场景
|
||||||
|
// 注意:如果场景正在加载过程,必须等待加载完成后才可以卸载该场景。
|
||||||
{
|
{
|
||||||
var operation = new UnloadSceneOperation(Provider);
|
var operation = new UnloadSceneOperation(Provider);
|
||||||
OperationSystem.StartOperation(packageName, operation);
|
OperationSystem.StartOperation(packageName, operation);
|
||||||
return operation;
|
return operation;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -14,14 +14,13 @@ namespace YooAsset
|
|||||||
CheckError,
|
CheckError,
|
||||||
PrepareDone,
|
PrepareDone,
|
||||||
UnLoadScene,
|
UnLoadScene,
|
||||||
Checking,
|
|
||||||
Done,
|
Done,
|
||||||
}
|
}
|
||||||
|
|
||||||
private ESteps _steps = ESteps.None;
|
private ESteps _steps = ESteps.None;
|
||||||
private readonly string _error;
|
private readonly string _error;
|
||||||
private readonly ProviderOperation _provider;
|
private readonly ProviderOperation _provider;
|
||||||
private AsyncOperation _asyncOp;
|
private AsyncOperation _asyncOp = null;
|
||||||
|
|
||||||
internal UnloadSceneOperation(string error)
|
internal UnloadSceneOperation(string error)
|
||||||
{
|
{
|
||||||
@@ -96,16 +95,16 @@ namespace YooAsset
|
|||||||
|
|
||||||
if (_steps == ESteps.UnLoadScene)
|
if (_steps == ESteps.UnLoadScene)
|
||||||
{
|
{
|
||||||
_asyncOp = SceneManager.UnloadSceneAsync(_provider.SceneObject);
|
if (_asyncOp == null)
|
||||||
_provider.ResourceMgr.UnloadSubScene(_provider.SceneName);
|
{
|
||||||
_steps = ESteps.Checking;
|
_asyncOp = SceneManager.UnloadSceneAsync(_provider.SceneObject);
|
||||||
}
|
_provider.ResourceMgr.UnloadSubScene(_provider.SceneName);
|
||||||
|
}
|
||||||
|
|
||||||
if (_steps == ESteps.Checking)
|
|
||||||
{
|
|
||||||
Progress = _asyncOp.progress;
|
Progress = _asyncOp.progress;
|
||||||
if (_asyncOp.isDone == false)
|
if (_asyncOp.isDone == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
_provider.ResourceMgr.TryUnloadUnusedAsset(_provider.MainAssetInfo);
|
_provider.ResourceMgr.TryUnloadUnusedAsset(_provider.MainAssetInfo);
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
Status = EOperationStatus.Succeed;
|
Status = EOperationStatus.Succeed;
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ namespace YooAsset
|
|||||||
long downloadBytes = _cachedDownloadBytes;
|
long downloadBytes = _cachedDownloadBytes;
|
||||||
foreach (var downloader in _downloaders)
|
foreach (var downloader in _downloaders)
|
||||||
{
|
{
|
||||||
downloadBytes += (long)downloader.DownloadedBytes;
|
downloadBytes += downloader.DownloadedBytes;
|
||||||
if (downloader.IsDone == false)
|
if (downloader.IsDone == false)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@@ -145,7 +145,7 @@ namespace YooAsset
|
|||||||
// 下载成功
|
// 下载成功
|
||||||
_removeList.Add(downloader);
|
_removeList.Add(downloader);
|
||||||
_cachedDownloadCount++;
|
_cachedDownloadCount++;
|
||||||
_cachedDownloadBytes += (long)downloader.DownloadedBytes;
|
_cachedDownloadBytes += downloader.DownloadedBytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 移除已经完成的下载器(无论成功或失败)
|
// 移除已经完成的下载器(无论成功或失败)
|
||||||
|
|||||||
Reference in New Issue
Block a user