【m】临时加回local模式

This commit is contained in:
zhangzheng
2026-03-18 10:29:55 +08:00
parent 4d8a107012
commit c07f1f0be8
4 changed files with 43 additions and 25 deletions

View File

@@ -42,29 +42,19 @@ namespace Stary.Evo
Debug.LogWarning($"UnityEvo:资源包 {AppConfig.PackageDomainName}_RawFile 不存在,正在尝试创建...");
packageRawFile = YooAssets.CreatePackage($"{AppConfig.PackageDomainName}_RawFile");
}
bool isInitSuccess = false;
// 初始化资源包
#if EDITOR_SIMULATEMODE
await EDITOR_SIMULATEMODE(package);
await FsmSystem.SetCurState(nameof(ResEditorSimulateState));
#elif HOST_PLAYMODE
bool isInitSuccess = false;
//登录
if (((FsmLoadSystem)FsmSystem).IsLogin)
{
bool isExit = await GetServerVersion();
if (isExit)
{
await HOST_PLAYMODE(package);
isInitSuccess = await HOST_PLAYMODE(packageRawFile);
}
else
{
await OFFLINE_PLAYMODE(package);
await ChChe_PLAYMODE(package);
await OFFLINE_PLAYMODE(packageRawFile);
isInitSuccess = await ChChe_PLAYMODE(packageRawFile);
}
await GetServerVersion();
await HOST_PLAYMODE(package);
isInitSuccess = await HOST_PLAYMODE(packageRawFile);
}
else
{
@@ -79,7 +69,14 @@ namespace Stary.Evo
await UpdateLocalPackage(packageRawFile);
await LoadHotfixSettings();
//await FsmSystem.SetCurState(nameof(ResUpdateLocalState));
#elif LOCAL_PLAYMODE
await OFFLINE_PLAYMODE(package);
await UpdateLocalPackage(package);
await OFFLINE_PLAYMODE(packageRawFile);
if (isInitSuccess)
await UpdateLocalPackage(packageRawFile);
await LoadHotfixSettings();
#elif WEB_PLAYMODE
// IRemoteServices remoteServices = new RemoteServices(defaultHostServer, fallbackHostServer);
// var webServerFileSystemParams = FileSystemParameters.CreateDefaultWebServerFileSystemParameters();
@@ -165,10 +162,29 @@ namespace Stary.Evo
private async UniTask OFFLINE_PLAYMODE(ResourcePackage package)
{
Debug.Log("UnityEvo:网络连接不通畅,切换缓存加载!");
CopyLocalFile(package.PackageName);
var initParams = YooAssetFileSystem.OfflineInitializeParameter();
var initOperation = package.InitializeAsync(initParams);
await initOperation;
var operation = package.RequestPackageVersionAsync();
await operation;
if (operation.Status == EOperationStatus.Succeed)
{
CustomPlayerPrefs.SetString($"{AppConfig.PackageDomainName}_GAME_VERSION", operation.PackageVersion);
Debug.Log("UnityEvo:从本地加载资源包,初始化获取版本号成功!");
}
else
{
Debug.LogError($"UnityEvo:从本地加载资源包,初始化获取版本号失败!");
}
if (initOperation.Status == EOperationStatus.Succeed)
Debug.Log("UnityEvo:从本地加载资源包,初始化成功!");
else
Debug.LogError($"UnityEvo:从本地加载资源包,初始化失败:{initOperation.Error}");
}
private async UniTask<bool> ChChe_PLAYMODE(ResourcePackage package)
{
//Debug.Log("UnityEvo:网络连接不通畅,切换缓存加载!");
@@ -260,7 +276,7 @@ namespace Stary.Evo
#endif
}
private async UniTask<bool> GetServerVersion()
private async UniTask GetServerVersion()
{
// 新增平台判断代码
#if UNITY_EDITOR
@@ -299,12 +315,10 @@ namespace Stary.Evo
Debug.LogWarning($"UnityEvo:当前版本{oldVersion}资源版本一致,自动跳过更新...");
}
return true;
}
else
{
Debug.LogWarning($"UnityEvo:获取资源版本失败: 【{resDmainMessageEntity.message}】");
return false;
}
}