This commit is contained in:
2025-09-02 14:15:18 +08:00
parent 796c8d845d
commit 8872c20cf2
34 changed files with 2024 additions and 695 deletions

View File

@@ -5,6 +5,7 @@ namespace Stary.Evo
{
public class AppConfig
{
public static OpenDomainType OpenDomainType { get; set; }
/// <summary>
/// package name
/// </summary>

View File

@@ -14,10 +14,10 @@ namespace Stary.Evo
/// </summary>
public class DomainBase : MonoBehaviour
{
public string DomainName { protected get; set; }
public string DomainName { get; set; }
public Transform TransformInfo;
protected bool isExit { private get; set; }
/// <summary>
/// 触发Domain时调用该方法
@@ -35,7 +35,6 @@ namespace Stary.Evo
/// <param name="param"></param>
public virtual void OnExit()
{
isExit = true;
AudioCoreManager.StopMusic();
}
@@ -44,7 +43,6 @@ namespace Stary.Evo
public virtual async Task OnEnterAsync(string param)
{
isExit = true;
}
public virtual Task OnExitAsync()
@@ -52,32 +50,11 @@ namespace Stary.Evo
return Task.CompletedTask;
}
private async void OnDestroy()
{
await ForceUnloadAllAssets();
}
// private async void OnDestroy()
// {
// await ForceUnloadAllAssets();
// }
// 强制卸载所有资源包,该方法请在合适的时机调用。
// 注意Package在销毁的时候也会自动调用该方法。
private async UniTask ForceUnloadAllAssets()
{
var package = YooAssets.TryGetPackage(DomainName);
if (package != null)
{
var operation = package.UnloadAllAssetsAsync();
await operation;
await package.DestroyAsync();
YooAssets.RemovePackage(DomainName);
Resources.UnloadUnusedAssets();
GC.Collect();
GC.WaitForPendingFinalizers();
Debug.Log($"UnityEvo:{DomainName} 资源包已卸载...");
}
else
{
Debug.LogWarning($"UnityEvo:{DomainName} 资源包不存在,请检查是否已经卸载还是卸载异常...");
}
}
}
}