【m】框架大更新
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
using Main;
|
||||
using System;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Main;
|
||||
using UnityEngine;
|
||||
using YooAsset;
|
||||
|
||||
namespace Stary.Evo
|
||||
{
|
||||
@@ -31,5 +34,28 @@ namespace Stary.Evo
|
||||
{
|
||||
return this.transformCtor;
|
||||
}
|
||||
|
||||
// 强制卸载所有资源包,该方法请在合适的时机调用。
|
||||
// 注意:Package在销毁的时候也会自动调用该方法。
|
||||
public async UniTask ForceUnloadAllAssets(string packageName)
|
||||
{
|
||||
var package = YooAssets.TryGetPackage(packageName);
|
||||
if (package != null)
|
||||
{
|
||||
var operation = package.UnloadAllAssetsAsync();
|
||||
await operation;
|
||||
await package.DestroyAsync();
|
||||
YooAssets.RemovePackage(packageName);
|
||||
|
||||
Resources.UnloadUnusedAssets();
|
||||
GC.Collect();
|
||||
GC.WaitForPendingFinalizers();
|
||||
Debug.Log($"UnityEvo:{packageName} 资源包已卸载...");
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning($"UnityEvo:{packageName} 资源包不存在,请检查是否已经卸载还是卸载异常...");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -175,36 +175,14 @@ namespace Stary.Evo
|
||||
{
|
||||
GameObject.Destroy(domainBase.gameObject);
|
||||
|
||||
await ForceUnloadAllAssets(domainBase.DomainName);
|
||||
await ((FsmLoadSystem)FsmSystem).ForceUnloadAllAssets(domainBase.DomainName);
|
||||
}
|
||||
if (loadResType == DomainConfig.LoadResType.Scene)
|
||||
{
|
||||
await SceneManager.UnloadSceneAsync(_sceneName);
|
||||
}
|
||||
AppConfig.PackageDomainName = "";
|
||||
}
|
||||
}
|
||||
|
||||
// 强制卸载所有资源包,该方法请在合适的时机调用。
|
||||
// 注意:Package在销毁的时候也会自动调用该方法。
|
||||
private async UniTask ForceUnloadAllAssets(string packageName)
|
||||
{
|
||||
var package = YooAssets.TryGetPackage(packageName);
|
||||
if (package != null)
|
||||
{
|
||||
var operation = package.UnloadAllAssetsAsync();
|
||||
await operation;
|
||||
await package.DestroyAsync();
|
||||
YooAssets.RemovePackage(packageName);
|
||||
|
||||
Resources.UnloadUnusedAssets();
|
||||
GC.Collect();
|
||||
GC.WaitForPendingFinalizers();
|
||||
Debug.Log($"UnityEvo:{packageName} 资源包已卸载...");
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning($"UnityEvo:{packageName} 资源包不存在,请检查是否已经卸载还是卸载异常...");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,9 +5,9 @@ using YooAsset;
|
||||
|
||||
namespace Stary.Evo
|
||||
{
|
||||
public class ResUpdateServerState : AbstractFSMIStateAsync
|
||||
public class ResEditorSimulateState : AbstractFSMIStateAsync
|
||||
{
|
||||
public ResUpdateServerState(IFsmSystemAsync system) : base(system)
|
||||
public ResEditorSimulateState(IFsmSystemAsync system) : base(system)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -37,13 +37,6 @@ namespace Stary.Evo
|
||||
Debug.Log($"UnityEvo:读取资源配置表成功...{AppConfig.IpConfig}{AppConfig.UserName}{AppConfig.PassWord}");
|
||||
// 初始化资源系统
|
||||
YooAssets.Initialize();
|
||||
|
||||
|
||||
//自定义网络请求器
|
||||
// 设置自定义请求委托
|
||||
//YooAssets.SetDownloadSystemUnityWebRequest(NasWebRequester);
|
||||
|
||||
|
||||
//初始化资源加载模块
|
||||
// 增加包存在性检查
|
||||
var package = YooAssets.TryGetPackage(AppConfig.PackageDomainName);
|
||||
@@ -58,10 +51,10 @@ namespace Stary.Evo
|
||||
// 初始化资源包
|
||||
#if EDITOR_SIMULATEMODE
|
||||
await EDITOR_SIMULATEMODE(package);
|
||||
FsmSystem.SetCurState(nameof(ResUpdateServerState));
|
||||
await FsmSystem.SetCurState(nameof(ResEditorSimulateState));
|
||||
#elif OFFLINE_PLAYMODE
|
||||
await OFFLINE_PLAYMODE(package);
|
||||
FsmSystem.SetCurState(nameof(ResUpdateLocalState));
|
||||
await FsmSystem.SetCurState(nameof(ResUpdateLocalState));
|
||||
#elif HOST_PLAYMODE
|
||||
|
||||
//登录
|
||||
@@ -70,10 +63,10 @@ namespace Stary.Evo
|
||||
if (isLogin)
|
||||
await HOST_PLAYMODE(package);
|
||||
else
|
||||
await Chche_PLAYMODE(package);
|
||||
await ChChe_PLAYMODE(package);
|
||||
|
||||
|
||||
FsmSystem.SetCurState(nameof(ResUpdateLocalState));
|
||||
await FsmSystem.SetCurState(nameof(ResUpdateLocalState));
|
||||
|
||||
#elif WEB_PLAYMODE
|
||||
// IRemoteServices remoteServices = new RemoteServices(defaultHostServer, fallbackHostServer);
|
||||
@@ -134,10 +127,10 @@ namespace Stary.Evo
|
||||
Debug.LogError($"UnityEvo:资源包初始化失败:{initialization.Error}");
|
||||
}
|
||||
}
|
||||
private async UniTask Chche_PLAYMODE(ResourcePackage package)
|
||||
private async UniTask ChChe_PLAYMODE(ResourcePackage package)
|
||||
{
|
||||
Debug.Log("UnityEvo:网络连接不通畅,切换缓存加载!");
|
||||
var initParams=YooAssetFileSystem.hostInitializeParameter();
|
||||
var initParams=YooAssetFileSystem.HostInitializeParameter();
|
||||
var initOperation = package.InitializeAsync(initParams);
|
||||
await initOperation;
|
||||
|
||||
@@ -224,7 +217,7 @@ namespace Stary.Evo
|
||||
Debug.LogError($"UnityEvo:获取资源版本失败: 【{resDmainMessageEntity.message}】");
|
||||
}
|
||||
|
||||
var initParams=YooAssetFileSystem.hostInitializeParameter();
|
||||
var initParams=YooAssetFileSystem.HostInitializeParameter();
|
||||
// initParameters.CacheFileSystemParameters = cacheFileSystemParams;
|
||||
|
||||
var initOperation = package.InitializeAsync(initParams);
|
||||
|
||||
@@ -22,23 +22,23 @@ namespace Stary.Evo
|
||||
|
||||
Debug.Log($"UnityEvo:切换为加载本地缓存资源...");
|
||||
string packageVersion = "";
|
||||
if (package.PackageName.Equals("Main"))
|
||||
{
|
||||
var operation = package.RequestPackageVersionAsync();
|
||||
await operation;
|
||||
if (operation.Status == EOperationStatus.Succeed)
|
||||
{
|
||||
//更新成功
|
||||
packageVersion = operation.PackageVersion;
|
||||
Debug.Log($"Unity:【Main】Request package Version : {packageVersion}");
|
||||
}
|
||||
else
|
||||
{
|
||||
//更新失败
|
||||
Debug.LogError("Unity:【Main】" + operation.Error);
|
||||
}
|
||||
}
|
||||
else
|
||||
// if (package.PackageName.Equals("Main"))
|
||||
// {
|
||||
// var operation = package.RequestPackageVersionAsync();
|
||||
// await operation;
|
||||
// if (operation.Status == EOperationStatus.Succeed)
|
||||
// {
|
||||
// //更新成功
|
||||
// packageVersion = operation.PackageVersion;
|
||||
// Debug.Log($"Unity:【Main】Request package Version : {packageVersion}");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// //更新失败
|
||||
// Debug.LogError("Unity:【Main】" + operation.Error);
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
{
|
||||
// 获取上次成功记录的版本
|
||||
packageVersion = PlayerPrefs.GetString($"{AppConfig.PackageDomainName}_GAME_VERSION", string.Empty);
|
||||
|
||||
Reference in New Issue
Block a user