【m】框架优化
This commit is contained in:
@@ -1,186 +1,186 @@
|
||||
using Cysharp.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Assertions;
|
||||
using YooAsset;
|
||||
|
||||
namespace Stary.Evo
|
||||
{
|
||||
public class ArtResEditorSimulateState : AbstractFSMIStateAsync
|
||||
{
|
||||
public ArtResEditorSimulateState(IFsmSystemAsync system) : base(system)
|
||||
{
|
||||
}
|
||||
|
||||
public override async UniTask OnEnterAsync()
|
||||
{
|
||||
Debug.Log("UnityEvo:开始资源更新...");
|
||||
|
||||
|
||||
// //初始化读取资源配置表
|
||||
var package = YooAssets.GetPackage(AppConfig.PackageDomainName);
|
||||
// 请求资源版本
|
||||
var requetVersionOp = package.RequestPackageVersionAsync();
|
||||
await requetVersionOp;
|
||||
string packageVersion = "";
|
||||
if (requetVersionOp.Status == EOperationStatus.Succeed)
|
||||
{
|
||||
//更新成功
|
||||
packageVersion = requetVersionOp.PackageVersion;
|
||||
PlayerPrefs.SetString($"{AppConfig.PackageDomainName}_GAME_VERSION", packageVersion);
|
||||
Debug.Log($"UnityEvo:获取资源版本 Version : 【{packageVersion}】");
|
||||
Debug.Log($"UnityEvo:开始加载服务器资源...");
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError($"UnityEvo:获取资源版本失败: 【{requetVersionOp.Error}】");
|
||||
FsmSystem.SetCurState(nameof(ResUpdateLocalState));
|
||||
return;
|
||||
}
|
||||
|
||||
// 更新资源清单
|
||||
var updateManifestOp = package.UpdatePackageManifestAsync(packageVersion);
|
||||
await updateManifestOp;
|
||||
if (updateManifestOp.Status == EOperationStatus.Succeed)
|
||||
{
|
||||
//更新成功
|
||||
Debug.Log($"UnityEvo:更新资源清单 updateManifest : 【成功】");
|
||||
}
|
||||
else
|
||||
{
|
||||
//更新失败
|
||||
Debug.LogError($"UnityEvo:更新资源清单失败: 【{updateManifestOp.Error}】");
|
||||
}
|
||||
|
||||
//4.下载补丁包
|
||||
await Download();
|
||||
|
||||
|
||||
//加载热更配置文件
|
||||
var loadArtSceneDataOp = package.LoadAssetAsync<ArtSceneData>("Config_ArtSceneData");
|
||||
await loadArtSceneDataOp;
|
||||
ArtSceneData artSceneData = null;
|
||||
if (loadArtSceneDataOp.Status == EOperationStatus.Succeed)
|
||||
{
|
||||
//更新成功
|
||||
Debug.Log($"UnityEvo:加载热更配置文件 ArtSceneData : 【成功】");
|
||||
artSceneData = loadArtSceneDataOp.AssetObject as ArtSceneData;
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError($"UnityEvo:加载热更配置文件 ArtSceneData : 【失败】");
|
||||
}
|
||||
|
||||
|
||||
if (artSceneData == null)
|
||||
{
|
||||
Debug.LogError($"UnityEvo:【{package.PackageName}】加载ArtSceneData为空,无法继续执行后续流程,请检查!!!");
|
||||
}
|
||||
}
|
||||
|
||||
public override UniTask OnEnterAsync<T>(T param)
|
||||
{
|
||||
return UniTask.CompletedTask;
|
||||
}
|
||||
|
||||
public override UniTask OnEnterAsync<T1, T2>(T1 param1, T2 param2)
|
||||
{
|
||||
return UniTask.CompletedTask;
|
||||
}
|
||||
|
||||
public override void OnUpdate()
|
||||
{
|
||||
base.OnUpdate();
|
||||
}
|
||||
|
||||
|
||||
public override async UniTask OnExitAsync()
|
||||
{
|
||||
await ((FsmLoadSystem)FsmSystem).ForceUnloadAllAssets(AppConfig.PackageDomainName);
|
||||
AppConfig.PackageDomainName = "";
|
||||
}
|
||||
|
||||
#region 下载热更资源
|
||||
|
||||
public async UniTask Download()
|
||||
{
|
||||
int downloadingMaxNum = 10;
|
||||
int failedTryAgain = 3;
|
||||
var package = YooAssets.GetPackage(AppConfig.PackageDomainName);
|
||||
var downloader = package.CreateResourceDownloader(downloadingMaxNum, failedTryAgain);
|
||||
|
||||
//没有需要下载的资源
|
||||
if (downloader.TotalDownloadCount == 0)
|
||||
{
|
||||
Debug.Log("UnityEvo:没有需要下载的资源,跳过更新");
|
||||
return;
|
||||
}
|
||||
|
||||
//需要下载的文件总数和总大小
|
||||
int totalDownloadCount = downloader.TotalDownloadCount;
|
||||
long totalDownloadBytes = downloader.TotalDownloadBytes;
|
||||
Debug.Log($"UnityEvo:需要下载的资源的个数【{totalDownloadCount}】,需要下载的资源的总大小{totalDownloadBytes / 1024} MB");
|
||||
//===================================适应新版本YooAsset插件的修改===================================
|
||||
//注册回调方法
|
||||
downloader.DownloadErrorCallback = OnDownloadErrorFunction;
|
||||
downloader.DownloadUpdateCallback = OnDownloadProgressUpdateFunction;
|
||||
downloader.DownloadFinishCallback = OnDownloadOverFunction;
|
||||
downloader.DownloadFileBeginCallback = OnStartDownloadFileFunction;
|
||||
//===================================适应新版本YooAsset插件的修改===================================
|
||||
|
||||
//开启下载
|
||||
downloader.BeginDownload();
|
||||
await downloader;
|
||||
|
||||
//检测下载结果
|
||||
if (downloader.Status == EOperationStatus.Succeed)
|
||||
{
|
||||
//下载成功
|
||||
Debug.Log("UnityEvo:资源更新完成");
|
||||
}
|
||||
else
|
||||
{
|
||||
//下载失败
|
||||
Debug.Log("UnityEvo:资源更新失败");
|
||||
}
|
||||
}
|
||||
|
||||
//===================================适应新版本YooAsset插件的修改===================================
|
||||
/// <summary>
|
||||
/// 开始下载
|
||||
/// </summary>
|
||||
private void OnStartDownloadFileFunction(DownloadFileData downloadFileData)
|
||||
{
|
||||
Debug.Log(
|
||||
$"UnityEvo:开始下载:文件名:{downloadFileData.FileName},文件大小:{downloadFileData.FileSize / 1024f / 1024f} MB");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 下载完成
|
||||
/// </summary>
|
||||
private void OnDownloadOverFunction(DownloaderFinishData downloaderFinishData)
|
||||
{
|
||||
Debug.Log("UnityEvo:下载" + (downloaderFinishData.Succeed ? "成功" : "失败"));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新中
|
||||
/// </summary>
|
||||
private void OnDownloadProgressUpdateFunction(DownloadUpdateData downloadUpdateData)
|
||||
{
|
||||
Debug.Log(
|
||||
$"UnityEvo:文件总数:{downloadUpdateData.TotalDownloadCount},已下载文件数:{downloadUpdateData.CurrentDownloadCount},下载总大小:{downloadUpdateData.TotalDownloadBytes / 1024f / 1024f} MB,已下载大小{downloadUpdateData.CurrentDownloadBytes / 1024f / 1024f} MB");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 下载出错
|
||||
/// </summary>
|
||||
/// <param name="errorData"></param>
|
||||
private void OnDownloadErrorFunction(DownloadErrorData errorData)
|
||||
{
|
||||
Debug.Log($"UnityEvo:下载出错:包名:{errorData.PackageName} 文件名:{errorData.FileName},错误信息:{errorData.ErrorInfo}");
|
||||
}
|
||||
//===================================适应新版本YooAsset插件的修改===================================
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
// using Cysharp.Threading.Tasks;
|
||||
// using UnityEngine;
|
||||
// using UnityEngine.Assertions;
|
||||
// using YooAsset;
|
||||
//
|
||||
// namespace Stary.Evo
|
||||
// {
|
||||
// public class ArtResEditorSimulateState : AbstractFSMIStateAsync
|
||||
// {
|
||||
// public ArtResEditorSimulateState(IFsmSystemAsync system) : base(system)
|
||||
// {
|
||||
// }
|
||||
//
|
||||
// public override async UniTask OnEnterAsync()
|
||||
// {
|
||||
// Debug.Log("UnityEvo:开始资源更新...");
|
||||
//
|
||||
//
|
||||
// // //初始化读取资源配置表
|
||||
// var package = YooAssets.GetPackage(AppConfig.PackageDomainName);
|
||||
// // 请求资源版本
|
||||
// var requetVersionOp = package.RequestPackageVersionAsync();
|
||||
// await requetVersionOp;
|
||||
// string packageVersion = "";
|
||||
// if (requetVersionOp.Status == EOperationStatus.Succeed)
|
||||
// {
|
||||
// //更新成功
|
||||
// packageVersion = requetVersionOp.PackageVersion;
|
||||
// PlayerPrefs.SetString($"{AppConfig.PackageDomainName}_GAME_VERSION", packageVersion);
|
||||
// Debug.Log($"UnityEvo:获取资源版本 Version : 【{packageVersion}】");
|
||||
// Debug.Log($"UnityEvo:开始加载服务器资源...");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// Debug.LogError($"UnityEvo:获取资源版本失败: 【{requetVersionOp.Error}】");
|
||||
// FsmSystem.SetCurState(nameof(ResUpdateLocalState));
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// // 更新资源清单
|
||||
// var updateManifestOp = package.UpdatePackageManifestAsync(packageVersion);
|
||||
// await updateManifestOp;
|
||||
// if (updateManifestOp.Status == EOperationStatus.Succeed)
|
||||
// {
|
||||
// //更新成功
|
||||
// Debug.Log($"UnityEvo:更新资源清单 updateManifest : 【成功】");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// //更新失败
|
||||
// Debug.LogError($"UnityEvo:更新资源清单失败: 【{updateManifestOp.Error}】");
|
||||
// }
|
||||
//
|
||||
// //4.下载补丁包
|
||||
// await Download();
|
||||
//
|
||||
//
|
||||
// //加载热更配置文件
|
||||
// var loadArtSceneDataOp = package.LoadAssetAsync<ArtSceneData>("Config_ArtSceneData");
|
||||
// await loadArtSceneDataOp;
|
||||
// ArtSceneData artSceneData = null;
|
||||
// if (loadArtSceneDataOp.Status == EOperationStatus.Succeed)
|
||||
// {
|
||||
// //更新成功
|
||||
// Debug.Log($"UnityEvo:加载热更配置文件 ArtSceneData : 【成功】");
|
||||
// artSceneData = loadArtSceneDataOp.AssetObject as ArtSceneData;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// Debug.LogError($"UnityEvo:加载热更配置文件 ArtSceneData : 【失败】");
|
||||
// }
|
||||
//
|
||||
//
|
||||
// if (artSceneData == null)
|
||||
// {
|
||||
// Debug.LogError($"UnityEvo:【{package.PackageName}】加载ArtSceneData为空,无法继续执行后续流程,请检查!!!");
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// public override UniTask OnEnterAsync<T>(T param)
|
||||
// {
|
||||
// return UniTask.CompletedTask;
|
||||
// }
|
||||
//
|
||||
// public override UniTask OnEnterAsync<T1, T2>(T1 param1, T2 param2)
|
||||
// {
|
||||
// return UniTask.CompletedTask;
|
||||
// }
|
||||
//
|
||||
// public override void OnUpdate()
|
||||
// {
|
||||
// base.OnUpdate();
|
||||
// }
|
||||
//
|
||||
//
|
||||
// public override async UniTask OnExitAsync()
|
||||
// {
|
||||
// await ((FsmLoadSystem)FsmSystem).ForceUnloadAllAssets(AppConfig.PackageDomainName);
|
||||
// AppConfig.PackageDomainName = "";
|
||||
// }
|
||||
//
|
||||
// #region 下载热更资源
|
||||
//
|
||||
// public async UniTask Download()
|
||||
// {
|
||||
// int downloadingMaxNum = 10;
|
||||
// int failedTryAgain = 3;
|
||||
// var package = YooAssets.GetPackage(AppConfig.PackageDomainName);
|
||||
// var downloader = package.CreateResourceDownloader(downloadingMaxNum, failedTryAgain);
|
||||
//
|
||||
// //没有需要下载的资源
|
||||
// if (downloader.TotalDownloadCount == 0)
|
||||
// {
|
||||
// Debug.Log("UnityEvo:没有需要下载的资源,跳过更新");
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// //需要下载的文件总数和总大小
|
||||
// int totalDownloadCount = downloader.TotalDownloadCount;
|
||||
// long totalDownloadBytes = downloader.TotalDownloadBytes;
|
||||
// Debug.Log($"UnityEvo:需要下载的资源的个数【{totalDownloadCount}】,需要下载的资源的总大小{totalDownloadBytes / 1024} MB");
|
||||
// //===================================适应新版本YooAsset插件的修改===================================
|
||||
// //注册回调方法
|
||||
// downloader.DownloadErrorCallback = OnDownloadErrorFunction;
|
||||
// downloader.DownloadUpdateCallback = OnDownloadProgressUpdateFunction;
|
||||
// downloader.DownloadFinishCallback = OnDownloadOverFunction;
|
||||
// downloader.DownloadFileBeginCallback = OnStartDownloadFileFunction;
|
||||
// //===================================适应新版本YooAsset插件的修改===================================
|
||||
//
|
||||
// //开启下载
|
||||
// downloader.BeginDownload();
|
||||
// await downloader;
|
||||
//
|
||||
// //检测下载结果
|
||||
// if (downloader.Status == EOperationStatus.Succeed)
|
||||
// {
|
||||
// //下载成功
|
||||
// Debug.Log("UnityEvo:资源更新完成");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// //下载失败
|
||||
// Debug.Log("UnityEvo:资源更新失败");
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// //===================================适应新版本YooAsset插件的修改===================================
|
||||
// /// <summary>
|
||||
// /// 开始下载
|
||||
// /// </summary>
|
||||
// private void OnStartDownloadFileFunction(DownloadFileData downloadFileData)
|
||||
// {
|
||||
// Debug.Log(
|
||||
// $"UnityEvo:开始下载:文件名:{downloadFileData.FileName},文件大小:{downloadFileData.FileSize / 1024f / 1024f} MB");
|
||||
// }
|
||||
//
|
||||
// /// <summary>
|
||||
// /// 下载完成
|
||||
// /// </summary>
|
||||
// private void OnDownloadOverFunction(DownloaderFinishData downloaderFinishData)
|
||||
// {
|
||||
// Debug.Log("UnityEvo:下载" + (downloaderFinishData.Succeed ? "成功" : "失败"));
|
||||
// }
|
||||
//
|
||||
// /// <summary>
|
||||
// /// 更新中
|
||||
// /// </summary>
|
||||
// private void OnDownloadProgressUpdateFunction(DownloadUpdateData downloadUpdateData)
|
||||
// {
|
||||
// Debug.Log(
|
||||
// $"UnityEvo:文件总数:{downloadUpdateData.TotalDownloadCount},已下载文件数:{downloadUpdateData.CurrentDownloadCount},下载总大小:{downloadUpdateData.TotalDownloadBytes / 1024f / 1024f} MB,已下载大小{downloadUpdateData.CurrentDownloadBytes / 1024f / 1024f} MB");
|
||||
// }
|
||||
//
|
||||
// /// <summary>
|
||||
// /// 下载出错
|
||||
// /// </summary>
|
||||
// /// <param name="errorData"></param>
|
||||
// private void OnDownloadErrorFunction(DownloadErrorData errorData)
|
||||
// {
|
||||
// Debug.Log($"UnityEvo:下载出错:包名:{errorData.PackageName} 文件名:{errorData.FileName},错误信息:{errorData.ErrorInfo}");
|
||||
// }
|
||||
// //===================================适应新版本YooAsset插件的修改===================================
|
||||
//
|
||||
// #endregion
|
||||
// }
|
||||
// }
|
||||
@@ -1,147 +1,147 @@
|
||||
using System;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Assertions;
|
||||
using YooAsset;
|
||||
|
||||
namespace Stary.Evo
|
||||
{
|
||||
public class ArtResUpdateLocalState : AbstractFSMIStateAsync
|
||||
{
|
||||
public ArtResUpdateLocalState(IFsmSystemAsync system) : base(system)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
public override async UniTask OnEnterAsync()
|
||||
{
|
||||
//初始化读取资源配置表
|
||||
var package = YooAssets.GetPackage(AppConfig.PackageDomainName);
|
||||
|
||||
|
||||
//更新失败
|
||||
|
||||
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
|
||||
{
|
||||
// 获取上次成功记录的版本
|
||||
packageVersion = PlayerPrefs.GetString($"{AppConfig.PackageDomainName}_GAME_VERSION", string.Empty);
|
||||
if (string.IsNullOrEmpty(packageVersion))
|
||||
{
|
||||
Debug.Log($"UnityEvo:没有找到本地版本记录,需要更新资源!");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Debug.Log($"UnityEvo:获取资源版本 Version : 【{packageVersion}】");
|
||||
Debug.Log($"UnityEvo:开始加载本地资源...");
|
||||
// Assert.AreEqual(EOperationStatus.Succeed, requetVersionOp.Status);
|
||||
|
||||
|
||||
// 加载本地缓存的资源清单文件
|
||||
var updateManifestOp = package.UpdatePackageManifestAsync(packageVersion);
|
||||
await updateManifestOp;
|
||||
if (updateManifestOp.Status == EOperationStatus.Succeed)
|
||||
{
|
||||
//更新成功
|
||||
Debug.Log($"UnityEvo:更新本地资源清单 updateManifest : 【成功】");
|
||||
}
|
||||
else
|
||||
{
|
||||
//更新失败
|
||||
Debug.LogError($"UnityEvo:加载本地资源清单文件失败,需要更新资源!: 【{updateManifestOp.Error}】");
|
||||
return;
|
||||
}
|
||||
|
||||
Assert.AreEqual(EOperationStatus.Succeed, updateManifestOp.Status);
|
||||
|
||||
|
||||
//4.检测补丁包
|
||||
await Download();
|
||||
|
||||
|
||||
//加载热更配置文件
|
||||
var loadArtSceneDataOp = package.LoadAssetAsync<ArtSceneData>("Config_ArtSceneData");
|
||||
await loadArtSceneDataOp;
|
||||
ArtSceneData artSceneData = null;
|
||||
if (loadArtSceneDataOp.Status == EOperationStatus.Succeed)
|
||||
{
|
||||
//更新成功
|
||||
Debug.Log($"UnityEvo:加载热更配置文件 ArtSceneData : 【成功】");
|
||||
artSceneData = loadArtSceneDataOp.AssetObject as ArtSceneData;
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError($"UnityEvo:加载热更配置文件 ArtSceneData : 【失败】");
|
||||
}
|
||||
|
||||
|
||||
if (artSceneData == null)
|
||||
{
|
||||
Debug.LogError($"UnityEvo:【{package.PackageName}】加载ArtSceneData为空,无法继续执行后续流程,请检查!!!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public override UniTask OnEnterAsync<T>(T param)
|
||||
{
|
||||
return UniTask.CompletedTask;
|
||||
}
|
||||
|
||||
public override UniTask OnEnterAsync<T1, T2>(T1 param1, T2 param2)
|
||||
{
|
||||
return UniTask.CompletedTask;
|
||||
}
|
||||
|
||||
public override void OnUpdate()
|
||||
{
|
||||
base.OnUpdate();
|
||||
}
|
||||
|
||||
|
||||
public override async UniTask OnExitAsync()
|
||||
{
|
||||
await ((FsmLoadSystem)FsmSystem).ForceUnloadAllAssets(AppConfig.PackageDomainName);
|
||||
AppConfig.PackageDomainName = "";
|
||||
}
|
||||
|
||||
#region 下载热更资源
|
||||
|
||||
public async UniTask Download()
|
||||
{
|
||||
int downloadingMaxNum = 1;
|
||||
int failedTryAgain = 1;
|
||||
var package = YooAssets.GetPackage(AppConfig.PackageDomainName);
|
||||
var downloader = package.CreateResourceDownloader(downloadingMaxNum, failedTryAgain);
|
||||
|
||||
// 在正常开始游戏之前,还需要验证本地清单内容的完整性。
|
||||
if (downloader.TotalDownloadCount > 0)
|
||||
{
|
||||
Debug.Log("UnityEvo:资源内容本地并不完整,需要更新资源!");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
// using System;
|
||||
// using Cysharp.Threading.Tasks;
|
||||
// using UnityEngine;
|
||||
// using UnityEngine.Assertions;
|
||||
// using YooAsset;
|
||||
//
|
||||
// namespace Stary.Evo
|
||||
// {
|
||||
// public class ArtResUpdateLocalState : AbstractFSMIStateAsync
|
||||
// {
|
||||
// public ArtResUpdateLocalState(IFsmSystemAsync system) : base(system)
|
||||
// {
|
||||
// }
|
||||
//
|
||||
//
|
||||
// public override async UniTask OnEnterAsync()
|
||||
// {
|
||||
// //初始化读取资源配置表
|
||||
// var package = YooAssets.GetPackage(AppConfig.PackageDomainName);
|
||||
//
|
||||
//
|
||||
// //更新失败
|
||||
//
|
||||
// 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
|
||||
// {
|
||||
// // 获取上次成功记录的版本
|
||||
// packageVersion = PlayerPrefs.GetString($"{AppConfig.PackageDomainName}_GAME_VERSION", string.Empty);
|
||||
// if (string.IsNullOrEmpty(packageVersion))
|
||||
// {
|
||||
// Debug.Log($"UnityEvo:没有找到本地版本记录,需要更新资源!");
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
// Debug.Log($"UnityEvo:获取资源版本 Version : 【{packageVersion}】");
|
||||
// Debug.Log($"UnityEvo:开始加载本地资源...");
|
||||
// // Assert.AreEqual(EOperationStatus.Succeed, requetVersionOp.Status);
|
||||
//
|
||||
//
|
||||
// // 加载本地缓存的资源清单文件
|
||||
// var updateManifestOp = package.UpdatePackageManifestAsync(packageVersion);
|
||||
// await updateManifestOp;
|
||||
// if (updateManifestOp.Status == EOperationStatus.Succeed)
|
||||
// {
|
||||
// //更新成功
|
||||
// Debug.Log($"UnityEvo:更新本地资源清单 updateManifest : 【成功】");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// //更新失败
|
||||
// Debug.LogError($"UnityEvo:加载本地资源清单文件失败,需要更新资源!: 【{updateManifestOp.Error}】");
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// Assert.AreEqual(EOperationStatus.Succeed, updateManifestOp.Status);
|
||||
//
|
||||
//
|
||||
// //4.检测补丁包
|
||||
// await Download();
|
||||
//
|
||||
//
|
||||
// //加载热更配置文件
|
||||
// var loadArtSceneDataOp = package.LoadAssetAsync<ArtSceneData>("Config_ArtSceneData");
|
||||
// await loadArtSceneDataOp;
|
||||
// ArtSceneData artSceneData = null;
|
||||
// if (loadArtSceneDataOp.Status == EOperationStatus.Succeed)
|
||||
// {
|
||||
// //更新成功
|
||||
// Debug.Log($"UnityEvo:加载热更配置文件 ArtSceneData : 【成功】");
|
||||
// artSceneData = loadArtSceneDataOp.AssetObject as ArtSceneData;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// Debug.LogError($"UnityEvo:加载热更配置文件 ArtSceneData : 【失败】");
|
||||
// }
|
||||
//
|
||||
//
|
||||
// if (artSceneData == null)
|
||||
// {
|
||||
// Debug.LogError($"UnityEvo:【{package.PackageName}】加载ArtSceneData为空,无法继续执行后续流程,请检查!!!");
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
// public override UniTask OnEnterAsync<T>(T param)
|
||||
// {
|
||||
// return UniTask.CompletedTask;
|
||||
// }
|
||||
//
|
||||
// public override UniTask OnEnterAsync<T1, T2>(T1 param1, T2 param2)
|
||||
// {
|
||||
// return UniTask.CompletedTask;
|
||||
// }
|
||||
//
|
||||
// public override void OnUpdate()
|
||||
// {
|
||||
// base.OnUpdate();
|
||||
// }
|
||||
//
|
||||
//
|
||||
// public override async UniTask OnExitAsync()
|
||||
// {
|
||||
// await ((FsmLoadSystem)FsmSystem).ForceUnloadAllAssets(AppConfig.PackageDomainName);
|
||||
// AppConfig.PackageDomainName = "";
|
||||
// }
|
||||
//
|
||||
// #region 下载热更资源
|
||||
//
|
||||
// public async UniTask Download()
|
||||
// {
|
||||
// int downloadingMaxNum = 1;
|
||||
// int failedTryAgain = 1;
|
||||
// var package = YooAssets.GetPackage(AppConfig.PackageDomainName);
|
||||
// var downloader = package.CreateResourceDownloader(downloadingMaxNum, failedTryAgain);
|
||||
//
|
||||
// // 在正常开始游戏之前,还需要验证本地清单内容的完整性。
|
||||
// if (downloader.TotalDownloadCount > 0)
|
||||
// {
|
||||
// Debug.Log("UnityEvo:资源内容本地并不完整,需要更新资源!");
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// #endregion
|
||||
//
|
||||
//
|
||||
// }
|
||||
// }
|
||||
@@ -1,234 +1,234 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Main;
|
||||
using Newtonsoft.Json;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Assertions;
|
||||
using YooAsset;
|
||||
using Object = UnityEngine.Object;
|
||||
|
||||
namespace Stary.Evo
|
||||
{
|
||||
public class ArtResStartState : AbstractFSMIStateAsync
|
||||
{
|
||||
public ArtResStartState(IFsmSystemAsync system) : base(system)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
public override async UniTask OnEnterAsync()
|
||||
{
|
||||
Debug.Log("UnityEvo:启动开始资源初始化...");
|
||||
|
||||
|
||||
//初始化读取资源配置表
|
||||
HotfixMainResDomain hotfixMainResDomain = Resources.Load<HotfixMainResDomain>("HotfixMainResDomain");
|
||||
if (hotfixMainResDomain != null)
|
||||
{
|
||||
AppConfig.IpConfig = hotfixMainResDomain.hotfixMainResDomainEntity.ipconfig;
|
||||
AppConfig.UserName = hotfixMainResDomain.hotfixMainResDomainEntity.username;
|
||||
AppConfig.PassWord = hotfixMainResDomain.hotfixMainResDomainEntity.password;
|
||||
AppConfig.ProductName =Application.identifier;
|
||||
AppConfig.MainDomainVersion = hotfixMainResDomain.hotfixMainResDomainEntity.mainDomainVersion;
|
||||
}
|
||||
|
||||
Debug.Log($"UnityEvo:读取资源配置表成功...{AppConfig.IpConfig}{AppConfig.UserName}{AppConfig.PassWord}");
|
||||
// 初始化资源系统
|
||||
YooAssets.Initialize();
|
||||
|
||||
|
||||
//自定义网络请求器
|
||||
// 设置自定义请求委托
|
||||
//YooAssets.SetDownloadSystemUnityWebRequest(NasWebRequester);
|
||||
|
||||
|
||||
//初始化资源加载模块
|
||||
// 增加包存在性检查
|
||||
var package = YooAssets.TryGetPackage(AppConfig.PackageDomainName);
|
||||
if (package == null)
|
||||
{
|
||||
Debug.LogWarning($"UnityEvo:资源包 {AppConfig.PackageDomainName} 不存在,正在尝试创建...");
|
||||
package = YooAssets.CreatePackage(AppConfig.PackageDomainName);
|
||||
}
|
||||
|
||||
YooAssets.SetDefaultPackage(package);
|
||||
|
||||
// 初始化资源包
|
||||
#if EDITOR_SIMULATEMODE
|
||||
await EDITOR_SIMULATEMODE(package);
|
||||
//await FsmSystem.SetCurState(nameof(ResUpdateServerState));
|
||||
await FsmSystem.SetCurState(nameof(ArtResEditorSimulateState));
|
||||
#elif HOST_PLAYMODE
|
||||
|
||||
//登录
|
||||
string url = AppConfig.IpConfig + "/Authentication/login";
|
||||
bool isLogin = await WebRequestSystem.Login(url, AppConfig.UserName, AppConfig.PassWord);
|
||||
if (isLogin)
|
||||
await HOST_PLAYMODE(package);
|
||||
else
|
||||
await Chche_PLAYMODE(package);
|
||||
|
||||
|
||||
await FsmSystem.SetCurState(nameof(ArtResUpdateLocalState));
|
||||
#endif
|
||||
}
|
||||
|
||||
public override UniTask OnEnterAsync<T>(T param)
|
||||
{
|
||||
return UniTask.CompletedTask;
|
||||
}
|
||||
|
||||
public override UniTask OnEnterAsync<T1, T2>(T1 param1, T2 param2)
|
||||
{
|
||||
return UniTask.CompletedTask;
|
||||
}
|
||||
|
||||
public override void OnUpdate()
|
||||
{
|
||||
base.OnUpdate();
|
||||
}
|
||||
|
||||
|
||||
public override UniTask OnExitAsync()
|
||||
{
|
||||
return UniTask.CompletedTask;
|
||||
}
|
||||
|
||||
private async UniTask EDITOR_SIMULATEMODE(ResourcePackage package)
|
||||
{
|
||||
|
||||
var initParams=YooAssetFileSystem.EditorSimulateInitializeParameter(package.PackageName);
|
||||
var initialization = package.InitializeAsync(initParams);
|
||||
await initialization;
|
||||
if (initialization.Status == EOperationStatus.Succeed)
|
||||
{
|
||||
Assert.AreEqual(EOperationStatus.Succeed, initialization.Status);
|
||||
Debug.Log("UnityEvo:资源包初始化成功!");
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError($"UnityEvo:资源包初始化失败:{initialization.Error}");
|
||||
}
|
||||
|
||||
//运行模拟文件系统
|
||||
|
||||
}
|
||||
private async UniTask Chche_PLAYMODE(ResourcePackage package)
|
||||
{
|
||||
Debug.Log("UnityEvo:网络连接不通畅,切换缓存加载!");
|
||||
var initParams=YooAssetFileSystem.HostInitializeParameter();
|
||||
var initOperation = package.InitializeAsync(initParams);
|
||||
await initOperation;
|
||||
|
||||
var operation = package.RequestPackageVersionAsync();
|
||||
await operation;
|
||||
if (operation.Status == EOperationStatus.Succeed)
|
||||
{
|
||||
PlayerPrefs.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}");
|
||||
}
|
||||
|
||||
public async UniTask HOST_PLAYMODE(ResourcePackage package)
|
||||
{
|
||||
// 新增平台判断代码
|
||||
#if UNITY_EDITOR
|
||||
BuildTarget buildTarget = UnityEditor.EditorUserBuildSettings.activeBuildTarget;
|
||||
AppConfig.Platform = buildTarget.ToString();
|
||||
#else
|
||||
AppConfig.Platform = Application.platform.ToString();
|
||||
#endif
|
||||
Debug.Log($"目标平台标识: {AppConfig.Platform}");
|
||||
|
||||
// 请求资源版本
|
||||
string url = $"{AppConfig.IpConfig}/ResDomain/GetResDomainByDomain";
|
||||
var resDmainRequst = new ResDmainRequst()
|
||||
{
|
||||
ProductName = AppConfig.ProductName,
|
||||
DomainName = AppConfig.PackageDomainName,
|
||||
Platform = AppConfig.Platform,
|
||||
};
|
||||
//获取服务器版本
|
||||
var resDmainMessageEntity = await WebRequestSystem.Post(url, JsonConvert.SerializeObject(resDmainRequst));
|
||||
if (resDmainMessageEntity.code == 200)
|
||||
{
|
||||
ResDmainResponse resDmainResponse =
|
||||
JsonConvert.DeserializeObject<ResDmainResponse>(resDmainMessageEntity.data.ToString());
|
||||
//获取当前版本
|
||||
var oldVersion = PlayerPrefs.GetString($"{AppConfig.PackageDomainName}_GAME_VERSION");
|
||||
//版本不一致,开始下载
|
||||
if (resDmainResponse.PackageVersion != oldVersion)
|
||||
{
|
||||
await Download(resDmainResponse.DocumentFileId);
|
||||
PlayerPrefs.SetString($"{AppConfig.PackageDomainName}_GAME_VERSION",
|
||||
resDmainResponse.PackageVersion);
|
||||
}
|
||||
else //版本一致,加载缓存资源
|
||||
{
|
||||
Debug.Log($"UnityEvo:资源版本一致,自动跳过更新...");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError($"UnityEvo:获取资源版本失败: 【{resDmainMessageEntity.message}】");
|
||||
}
|
||||
|
||||
var initParams=YooAssetFileSystem.HostInitializeParameter();
|
||||
// initParameters.CacheFileSystemParameters = cacheFileSystemParams;
|
||||
|
||||
var initOperation = package.InitializeAsync(initParams);
|
||||
|
||||
await initOperation;
|
||||
|
||||
if (initOperation.Status == EOperationStatus.Succeed)
|
||||
Debug.Log("UnityEvo:从远程加载资源包,初始化成功!");
|
||||
else
|
||||
Debug.LogError($"UnityEvo:从远程加载资源包,初始化失败:{initOperation.Error}");
|
||||
}
|
||||
|
||||
public async UniTask Download(string fileId)
|
||||
{
|
||||
// 在任意MonoBehaviour或DomainBase派生类中
|
||||
string loadPath = Path.Combine(Application.temporaryCachePath, "DownloadedContent",
|
||||
AppConfig.PackageDomainName);
|
||||
//string loadPath = $"{Application.persistentDataPath}/DownloadedContent/{AppConfig.PackageDomainName}";
|
||||
if (Directory.Exists(loadPath))
|
||||
{
|
||||
Directory.Delete(loadPath, true);
|
||||
// 等一帧,让系统真正释放句柄
|
||||
await UniTask.DelayFrame(1);
|
||||
}
|
||||
FsmLoadSystem loadSystem =FsmSystem as FsmLoadSystem;
|
||||
if (loadSystem.ProgressBarPanel == null)
|
||||
{
|
||||
loadSystem.ProgressBarPanel =Object.Instantiate(Resources.Load<GameObject>("ProgressBarPanel"),
|
||||
Camera.main.transform).GetOrAddComponent<ProgressBarPanel>();
|
||||
}
|
||||
await ZipTool.DownloadAndUnzipAsync(fileId, loadPath, DownLoadProgress, UnzipProgress);
|
||||
}
|
||||
|
||||
private void DownLoadProgress(float progress)
|
||||
{
|
||||
Debug.Log($"下载进度:{progress:P0}");
|
||||
FsmLoadSystem loadSystem =FsmSystem as FsmLoadSystem;
|
||||
loadSystem.ProgressBarPanel.SetProgressBarValue("下载中", progress);
|
||||
}
|
||||
|
||||
private void UnzipProgress(float progress)
|
||||
{
|
||||
Debug.Log($"解压进度:{progress:P0}");
|
||||
FsmLoadSystem loadSystem =FsmSystem as FsmLoadSystem;
|
||||
loadSystem.ProgressBarPanel.SetProgressBarValue("解压中", progress);
|
||||
}
|
||||
}
|
||||
}
|
||||
// using System;
|
||||
// using System.IO;
|
||||
// using Cysharp.Threading.Tasks;
|
||||
// using Main;
|
||||
// using Newtonsoft.Json;
|
||||
// using UnityEditor;
|
||||
// using UnityEngine;
|
||||
// using UnityEngine.Assertions;
|
||||
// using YooAsset;
|
||||
// using Object = UnityEngine.Object;
|
||||
//
|
||||
// namespace Stary.Evo
|
||||
// {
|
||||
// public class ArtResStartState : AbstractFSMIStateAsync
|
||||
// {
|
||||
// public ArtResStartState(IFsmSystemAsync system) : base(system)
|
||||
// {
|
||||
// }
|
||||
//
|
||||
//
|
||||
// public override async UniTask OnEnterAsync()
|
||||
// {
|
||||
// Debug.Log("UnityEvo:启动开始资源初始化...");
|
||||
//
|
||||
//
|
||||
// //初始化读取资源配置表
|
||||
// HotfixMainResDomain hotfixMainResDomain = Resources.Load<HotfixMainResDomain>("HotfixMainResDomain");
|
||||
// if (hotfixMainResDomain != null)
|
||||
// {
|
||||
// AppConfig.IpConfig = hotfixMainResDomain.hotfixMainResDomainEntity.ipconfig;
|
||||
// AppConfig.UserName = hotfixMainResDomain.hotfixMainResDomainEntity.username;
|
||||
// AppConfig.PassWord = hotfixMainResDomain.hotfixMainResDomainEntity.password;
|
||||
// AppConfig.ProductName =Application.identifier;
|
||||
// AppConfig.MainDomainVersion = hotfixMainResDomain.hotfixMainResDomainEntity.mainDomainVersion;
|
||||
// }
|
||||
//
|
||||
// Debug.Log($"UnityEvo:读取资源配置表成功...{AppConfig.IpConfig}{AppConfig.UserName}{AppConfig.PassWord}");
|
||||
// // 初始化资源系统
|
||||
// YooAssets.Initialize();
|
||||
//
|
||||
//
|
||||
// //自定义网络请求器
|
||||
// // 设置自定义请求委托
|
||||
// //YooAssets.SetDownloadSystemUnityWebRequest(NasWebRequester);
|
||||
//
|
||||
//
|
||||
// //初始化资源加载模块
|
||||
// // 增加包存在性检查
|
||||
// var package = YooAssets.TryGetPackage(AppConfig.PackageDomainName);
|
||||
// if (package == null)
|
||||
// {
|
||||
// Debug.LogWarning($"UnityEvo:资源包 {AppConfig.PackageDomainName} 不存在,正在尝试创建...");
|
||||
// package = YooAssets.CreatePackage(AppConfig.PackageDomainName);
|
||||
// }
|
||||
//
|
||||
// YooAssets.SetDefaultPackage(package);
|
||||
//
|
||||
// // 初始化资源包
|
||||
// #if EDITOR_SIMULATEMODE
|
||||
// await EDITOR_SIMULATEMODE(package);
|
||||
// //await FsmSystem.SetCurState(nameof(ResUpdateServerState));
|
||||
// await FsmSystem.SetCurState(nameof(ArtResEditorSimulateState));
|
||||
// #elif HOST_PLAYMODE
|
||||
//
|
||||
// //登录
|
||||
// string url = AppConfig.IpConfig + "/Authentication/login";
|
||||
// bool isLogin = await WebRequestSystem.Login(url, AppConfig.UserName, AppConfig.PassWord);
|
||||
// if (isLogin)
|
||||
// await HOST_PLAYMODE(package);
|
||||
// else
|
||||
// await Chche_PLAYMODE(package);
|
||||
//
|
||||
//
|
||||
// await FsmSystem.SetCurState(nameof(ArtResUpdateLocalState));
|
||||
// #endif
|
||||
// }
|
||||
//
|
||||
// public override UniTask OnEnterAsync<T>(T param)
|
||||
// {
|
||||
// return UniTask.CompletedTask;
|
||||
// }
|
||||
//
|
||||
// public override UniTask OnEnterAsync<T1, T2>(T1 param1, T2 param2)
|
||||
// {
|
||||
// return UniTask.CompletedTask;
|
||||
// }
|
||||
//
|
||||
// public override void OnUpdate()
|
||||
// {
|
||||
// base.OnUpdate();
|
||||
// }
|
||||
//
|
||||
//
|
||||
// public override UniTask OnExitAsync()
|
||||
// {
|
||||
// return UniTask.CompletedTask;
|
||||
// }
|
||||
//
|
||||
// private async UniTask EDITOR_SIMULATEMODE(ResourcePackage package)
|
||||
// {
|
||||
//
|
||||
// var initParams=YooAssetFileSystem.EditorSimulateInitializeParameter(package.PackageName);
|
||||
// var initialization = package.InitializeAsync(initParams);
|
||||
// await initialization;
|
||||
// if (initialization.Status == EOperationStatus.Succeed)
|
||||
// {
|
||||
// Assert.AreEqual(EOperationStatus.Succeed, initialization.Status);
|
||||
// Debug.Log("UnityEvo:资源包初始化成功!");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// Debug.LogError($"UnityEvo:资源包初始化失败:{initialization.Error}");
|
||||
// }
|
||||
//
|
||||
// //运行模拟文件系统
|
||||
//
|
||||
// }
|
||||
// private async UniTask Chche_PLAYMODE(ResourcePackage package)
|
||||
// {
|
||||
// Debug.Log("UnityEvo:网络连接不通畅,切换缓存加载!");
|
||||
// var initParams=YooAssetFileSystem.HostInitializeParameter();
|
||||
// var initOperation = package.InitializeAsync(initParams);
|
||||
// await initOperation;
|
||||
//
|
||||
// var operation = package.RequestPackageVersionAsync();
|
||||
// await operation;
|
||||
// if (operation.Status == EOperationStatus.Succeed)
|
||||
// {
|
||||
// PlayerPrefs.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}");
|
||||
// }
|
||||
//
|
||||
// public async UniTask HOST_PLAYMODE(ResourcePackage package)
|
||||
// {
|
||||
// // 新增平台判断代码
|
||||
// #if UNITY_EDITOR
|
||||
// BuildTarget buildTarget = UnityEditor.EditorUserBuildSettings.activeBuildTarget;
|
||||
// AppConfig.Platform = buildTarget.ToString();
|
||||
// #else
|
||||
// AppConfig.Platform = Application.platform.ToString();
|
||||
// #endif
|
||||
// Debug.Log($"目标平台标识: {AppConfig.Platform}");
|
||||
//
|
||||
// // 请求资源版本
|
||||
// string url = $"{AppConfig.IpConfig}/ResDomain/GetResDomainByDomain";
|
||||
// var resDmainRequst = new ResDmainRequst()
|
||||
// {
|
||||
// ProductName = AppConfig.ProductName,
|
||||
// DomainName = AppConfig.PackageDomainName,
|
||||
// Platform = AppConfig.Platform,
|
||||
// };
|
||||
// //获取服务器版本
|
||||
// var resDmainMessageEntity = await WebRequestSystem.Post(url, JsonConvert.SerializeObject(resDmainRequst));
|
||||
// if (resDmainMessageEntity.code == 200)
|
||||
// {
|
||||
// ResDmainResponse resDmainResponse =
|
||||
// JsonConvert.DeserializeObject<ResDmainResponse>(resDmainMessageEntity.data.ToString());
|
||||
// //获取当前版本
|
||||
// var oldVersion = PlayerPrefs.GetString($"{AppConfig.PackageDomainName}_GAME_VERSION");
|
||||
// //版本不一致,开始下载
|
||||
// if (resDmainResponse.PackageVersion != oldVersion)
|
||||
// {
|
||||
// await Download(resDmainResponse.DocumentFileId);
|
||||
// PlayerPrefs.SetString($"{AppConfig.PackageDomainName}_GAME_VERSION",
|
||||
// resDmainResponse.PackageVersion);
|
||||
// }
|
||||
// else //版本一致,加载缓存资源
|
||||
// {
|
||||
// Debug.Log($"UnityEvo:资源版本一致,自动跳过更新...");
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// Debug.LogError($"UnityEvo:获取资源版本失败: 【{resDmainMessageEntity.message}】");
|
||||
// }
|
||||
//
|
||||
// var initParams=YooAssetFileSystem.HostInitializeParameter();
|
||||
// // initParameters.CacheFileSystemParameters = cacheFileSystemParams;
|
||||
//
|
||||
// var initOperation = package.InitializeAsync(initParams);
|
||||
//
|
||||
// await initOperation;
|
||||
//
|
||||
// if (initOperation.Status == EOperationStatus.Succeed)
|
||||
// Debug.Log("UnityEvo:从远程加载资源包,初始化成功!");
|
||||
// else
|
||||
// Debug.LogError($"UnityEvo:从远程加载资源包,初始化失败:{initOperation.Error}");
|
||||
// }
|
||||
//
|
||||
// public async UniTask Download(string fileId)
|
||||
// {
|
||||
// // 在任意MonoBehaviour或DomainBase派生类中
|
||||
// string loadPath = Path.Combine(Application.temporaryCachePath, "DownloadedContent",
|
||||
// AppConfig.PackageDomainName);
|
||||
// //string loadPath = $"{Application.persistentDataPath}/DownloadedContent/{AppConfig.PackageDomainName}";
|
||||
// if (Directory.Exists(loadPath))
|
||||
// {
|
||||
// Directory.Delete(loadPath, true);
|
||||
// // 等一帧,让系统真正释放句柄
|
||||
// await UniTask.DelayFrame(1);
|
||||
// }
|
||||
// FsmLoadSystem loadSystem =FsmSystem as FsmLoadSystem;
|
||||
// if (loadSystem.ProgressBarPanel == null)
|
||||
// {
|
||||
// loadSystem.ProgressBarPanel =Object.Instantiate(Resources.Load<GameObject>("ProgressBarPanel"),
|
||||
// Camera.main.transform).GetOrAddComponent<ProgressBarPanel>();
|
||||
// }
|
||||
// await ZipTool.DownloadAndUnzipAsync(fileId, loadPath, DownLoadProgress, UnzipProgress);
|
||||
// }
|
||||
//
|
||||
// private void DownLoadProgress(float progress)
|
||||
// {
|
||||
// Debug.Log($"下载进度:{progress:P0}");
|
||||
// FsmLoadSystem loadSystem =FsmSystem as FsmLoadSystem;
|
||||
// loadSystem.ProgressBarPanel.SetProgressBarValue("下载中", progress);
|
||||
// }
|
||||
//
|
||||
// private void UnzipProgress(float progress)
|
||||
// {
|
||||
// Debug.Log($"解压进度:{progress:P0}");
|
||||
// FsmLoadSystem loadSystem =FsmSystem as FsmLoadSystem;
|
||||
// loadSystem.ProgressBarPanel.SetProgressBarValue("解压中", progress);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
Reference in New Issue
Block a user