yoo2.2,9
This commit is contained in:
Alex-Rachel
2025-01-25 13:46:17 +08:00
parent 634a392a1f
commit 6166fd24c6
584 changed files with 15684 additions and 11714 deletions

View File

@@ -2,6 +2,496 @@
All notable changes to this package will be documented in this file.
## [2.2.9] - 2025-01-14
### Fixed
- (#438) 修复了纯血鸿蒙加载本地文件失败的问题。
- (#445) 修复了小游戏扩展文件系统脚本编译错误。
### Changed
- EditorSimulateModeHelper.SimulateBuild()方法变更
```csharp
public static PackageInvokeBuildResult SimulateBuild(string packageName);
```
## [2.2.8-preview] - 2025-01-03
新增了单元测试用例。
### Improvements
- EditorSimulateModeHelper.SimulateBuild()方法提供指定自定义构建类
```csharp
public class EditorSimulateBuildParam
{
/// <summary>
/// 模拟构建类所属程序集名称
/// </summary>
public string InvokeAssmeblyName = "YooAsset.Editor";
/// <summary>
/// 模拟构建执行的类名全称
/// 注意:类名必须包含命名空间!
/// </summary>
public string InvokeClassFullName = "YooAsset.Editor.AssetBundleSimulateBuilder";
/// <summary>
/// 模拟构建执行的方法名称
/// 注意:执行方法必须满足 BindingFlags.Public | BindingFlags.Static
/// </summary>
public string InvokeMethodName = "SimulateBuild";
}
```
- 文件清理方式新增清理缓存清单。
```csharp
/// <summary>
/// 文件清理方式
/// </summary>
public enum EFileClearMode
{
/// <summary>
/// 清理所有清单
/// </summary>
ClearAllManifestFiles,
/// <summary>
/// 清理未在使用的清单
/// </summary>
ClearUnusedManifestFiles,
}
```
### Fixed
- (#426) 修复了鸿蒙next平台加载内置文件路径报错的问题。
- (#428) 修复了鸿蒙next平台加载内置文件路径报错的问题。
- (#434) 修复了2.2版本 catalog文件对Json格式原生文件不记录的问题。
- (#435) 修复了WebGL平台调用MD5算法触发异常的问题。
### Added
- 新增了视频打包规则。
```csharp
/// <summary>
/// 打包视频文件
/// </summary>
[DisplayName("打包视频文件")]
public class PackVideoFile : IPackRule
```
### Changed
- 重命名FileSystemParameters.RootDirectory字段为PackageRoot
- 重命名ResourcePackage.ClearCacheBundleFilesAsync()方法为ClearCacheFilesAsync()
## [2.2.7-preview] - 2024-12-30
### Improvements
- 重构了下载器的委托方法。
- YooAssetSettings配置文件新增Package Manifest Prefix参数。
```csharp
/// <summary>
/// 资源清单前缀名称(默认为空)
/// </summary>
public string PackageManifestPrefix = string.Empty;
```
### Fixed
- (#422) 修复了同步加载场景的NotImplementedException异常报错。
- (#418) 修复了web远程文件系统初始化不正确的问题
- (#392) 修复了引擎版本代码兼容相关的警告。
- (#332) 修复了当用户的设备中有特殊字符时URL路径无法被正确识别的问题。
### Added
- 新增代码字段AsyncOperationBase.PackageName
### Changed
- 重命名DownloaderOperation.OnDownloadOver()方法为DownloaderFinish()
- 重命名DownloaderOperation.OnDownloadProgress()方法为DownloadUpdate()
- 重命名DownloaderOperation.OnDownloadError()方法为DownloadError()
- 重命名DownloaderOperation.OnStartDownloadFile()方法为DownloadFileBegin()
## [2.2.6-preview] - 2024-12-27
### Improvements
- 增强了对Steam平台DLC拓展包的支持。
```csharp
// 新增参数关闭Catalog目录查询内置文件的功能
var fileSystemParams = CreateDefaultBuildinFileSystemParameters();
fileSystemParams .AddParameter(FileSystemParametersDefine.DISABLE_CATALOG_FILE, true);
```
- 资源句柄基类提供了统一的Release方法。
```csharp
public abstract class HandleBase : IEnumerator, IDisposable
{
/// <summary>
/// 释放资源句柄
/// </summary>
public void Release();
/// <summary>
/// 释放资源句柄
/// </summary>
public void Dispose();
}
```
- 优化了场景卸载逻辑。
```csharp
//框架内不在区分主场景和附加场景。
//场景卸载后自动释放资源句柄。
```
### Fixed
- 修复了Unity2020版本提示的脚本编译错误。
- (#417) 修复了DefaultWebServerFileSystem文件系统内Catalog未起效的问题。
### Added
- 新增示例文件 GetCacheBundleSizeOperation.cs
可以获取指定Package的缓存资源总大小。
### Removed
- 移除了SceneHandle.IsMainScene()方法。
## [2.2.5-preview] - 2024-12-25
依赖的ScriptableBuildPipeline (SBP) 插件库版本切换为1.21.25版本!
重构了ResourceManager相关的核心代码方便借助文件系统扩展和支持更复杂的需求
### Editor
- 新增了编辑器模拟构建管线 EditorSimulateBuildPipeline
- 移除了EBuildMode枚举类型构建界面有变动。
- IActiveRule分组激活接口新增GroupData类。
### Improvements
- 增加抖音小游戏文件系统,见扩展示例代码。
- 微信小游戏文件系统支持删除无用缓存文件和全部缓存文件。
- 资源构建管线现在默认剔除了Gizmos和编辑器资源。
- 优化了资源构建管线里资源收集速度。
资源收集速度提升100倍
```csharp
class BuildParameters
{
/// <summary>
/// 使用资源依赖缓存数据库
/// 说明:开启此项可以极大提高资源收集速度
/// </summary>
public bool UseAssetDependencyDB = false;
}
```
- WebPlayMode支持跨域加载。
```csharp
// 创建默认的WebServer文件系统参数
public static FileSystemParameters CreateDefaultWebServerFileSystemParameters(bool disableUnityWebCache = false)
// 创建默认的WebRemote文件系统参数支持跨域加载
public static FileSystemParameters CreateDefaultWebRemoteFileSystemParameters(IRemoteServices remoteServices, bool disableUnityWebCache = false)
```
- 编辑器模拟文件系统新增初始化参数:支持异步模拟加载帧数。
```csharp
/// <summary>
/// 异步模拟加载最小帧数
/// </summary>
FileSystemParametersDefine.ASYNC_SIMULATE_MIN_FRAME
/// <summary>
/// 异步模拟加载最大帧数
/// </summary>
FileSystemParametersDefine.ASYNC_SIMULATE_MAX_FRAME
```
- 缓存文件系统新增初始化参数:支持设置下载器最大并发连接数和单帧最大请求数
```csharp
var fileSystremParams = FileSystemParameters.CreateDefaultCacheFileSystemParameters();
fileSystremParams .AddParameter(FileSystemParametersDefine.DOWNLOAD_MAX_CONCURRENCY, 99);
fileSystremParams .AddParameter(FileSystemParametersDefine.DOWNLOAD_MAX_REQUEST_PER_FRAME, 10);
```
### Fixed
- (#349) 修复了在加载清单的时候,即使本地存在缓存文件还会去远端下载。
- (#361) 修复了协程里等待的asset handle被release会无限等待并输出警告信息。
- (#359) 修复了SubAssetsHandle.GetSubAssetObject会获取到同名的主资源。
- (#387) 修复了加密后文件哈希冲突的时候没有抛出异常错误。
- (#404) 修复了Unity2022.3.8版本提示编译错误Cannot resolve symbol 'AsyncInstantiateOperation'
### Added
- 新增示例文件 CopyBuildinManifestOperation.cs
- 新增示例文件 LoadGameObjectOperation.cs
- 新增了获取配置清单详情的方法
```csharp
class ResourcePackage
{
public PackageDetails GetPackageDetails()
}
```
- 新增了获取所有资源信息的方法
```csharp
class ResourcePackage
{
public AssetInfo[] GetAllAssetInfos()
}
```
- 新增了清理缓存文件的通用方法
```csharp
/// <summary>
/// 文件清理方式
/// </summary>
public enum EFileClearMode
{
/// <summary>
/// 清理所有文件
/// </summary>
ClearAllBundleFiles = 1,
/// <summary>
/// 清理未在使用的文件
/// </summary>
ClearUnusedBundleFiles = 2,
/// <summary>
/// 清理指定标签的文件
/// 说明需要指定参数可选string, string[], List<string>
/// </summary>
ClearBundleFilesByTags = 3,
}
class ResourcePackage
{
/// <summary>
/// 清理缓存文件
/// </summary>
/// <param name="clearMode">清理方式</param>
/// <param name="clearParam">执行参数</param>
public ClearCacheBundleFilesOperation ClearCacheBundleFilesAsync(EFileClearMode clearMode, object clearParam = null)
}
```
### Changed
- 修改了EditorSimulateModeHelper.SimulateBuild()方法
- 重命名ResourcePackage.GetAssetsInfoByTags()方法为GetAssetInfosByTags()
- 实例化对象方法增加激活参数。
```csharp
public InstantiateOperation InstantiateAsync(bool actived = true)
```
- 清单文件的版本提升到2.2.5版本
```csharp
/// <summary>
/// 资源包裹的备注信息
/// </summary>
public string PackageNote;
```
### Removed
- 移除了HostPlayModeParameters.DeliveryFileSystemParameters字段
- 移除了ResourcePackage.ClearAllBundleFilesAsync()方法
- 移除了ResourcePackage.ClearUnusedBundleFilesAsync()方法
- 移除了FileSystemParameters.CreateDefaultBuildinRawFileSystemParameters()方法
- 移除了FileSystemParameters.CreateDefaultCacheRawFileSystemParameters()方法
- 移除了枚举类型EDefaultBuildPipeline
- 移除了配置参数YooAssetSettings.ManifestFileName
## [2.2.4-preview] - 2024-08-15
### Fixed
- 修复了HostPlayMode初始化卡死的问题。
## [2.2.3-preview] - 2024-08-13
### Fixed
- (#311) 修复了断点续传下载器极小概率报错 : “416 Range Not Satisfiable”
### Improvements
- 原生文件构建管线支持原生文件加密。
- HostPlayMode模式下内置文件系统初始化参数可以为空。
- 场景加载增加了LocalPhysicsMode参数来控制物理运行模式。
- 默认的内置文件系统和缓存文件系统增加解密方法。
```csharp
/// <summary>
/// 创建默认的内置文件系统参数
/// </summary>
/// <param name="decryptionServices">加密文件解密服务类</param>
/// <param name="verifyLevel">缓存文件的校验等级</param>
/// <param name="rootDirectory">内置文件的根路径</param>
public static FileSystemParameters CreateDefaultBuildinFileSystemParameters(IDecryptionServices decryptionServices, EFileVerifyLevel verifyLevel, string rootDirectory);
/// <summary>
/// 创建默认的缓存文件系统参数
/// </summary>
/// <param name="remoteServices">远端资源地址查询服务类</param>
/// <param name="decryptionServices">加密文件解密服务类</param>
/// <param name="verifyLevel">缓存文件的校验等级</param>
/// <param name="rootDirectory">文件系统的根目录</param>
public static FileSystemParameters CreateDefaultCacheFileSystemParameters(IRemoteServices remoteServices, IDecryptionServices decryptionServices, EFileVerifyLevel verifyLevel, string rootDirectory);
```
## [2.2.2-preview] - 2024-07-31
### Fixed
- (#321) 修复了在Unity2022里编辑器下离线模式运行失败的问题。
- (#325) 修复了在Unity2019里编译报错问题。
## [2.2.1-preview] - 2024-07-10
统一了所有PlayMode的初始化逻辑EditorSimulateMode和OfflinePlayMode初始化不再主动加载资源清单
### Added
- 新增了IFileSystem.ReadFileData方法支持原生文件自定义获取文本和二进制数据。
### Improvements
- 优化了DefaultWebFileSystem和DefaultBuildFileSystem文件系统的内部初始化逻辑。
## [2.2.0-preview] - 2024-07-07
重构了运行时代码新增了文件系统接口IFileSystem方便开发者扩展特殊需求。
新增微信小游戏文件系统示例代码详细见Extension Sample/Runtime/WechatFileSystem
### Added
- 新增了ResourcePackage.DestroyAsync方法
- 新增了FileSystemParameters类帮助初始化文件系统
内置了编辑器文件系统参数内置文件系统参数缓存文件系统参数Web文件系统参数。
```csharp
public class FileSystemParameters
{
/// <summary>
/// 文件系统类
/// </summary>
public string FileSystemClass { private set; get; }
/// <summary>
/// 文件系统的根目录
/// </summary>
public string RootDirectory { private set; get; }
/// <summary>
/// 添加自定义参数
/// </summary>
public void AddParameter(string name, object value)
}
```
### Changed
- 重构了InitializeParameters初始化参数
- 重命名YooAssets.DestroyPackage方法为RemovePackage
- 重命名ResourcePackage.UpdatePackageVersionAsync方法为RequestPackageVersionAsync
- 重命名ResourcePackage.UnloadUnusedAssets方法为UnloadUnusedAssetsAsync
- 重命名ResourcePackage.ForceUnloadAllAssets方法为UnloadAllAssetsAsync
- 重命名ResourcePackage.ClearUnusedCacheFilesAsync方法为ClearUnusedBundleFilesAsync
- 重命名ResourcePackage.ClearAllCacheFilesAsync方法为ClearAllBundleFilesAsync
### Removed
- 移除了YooAssets.Destroy方法
- 移除了YooAssets.SetDownloadSystemClearFileResponseCode方法
- 移除了YooAssets.SetCacheSystemDisableCacheOnWebGL方法
- 移除了ResourcePackage.GetPackageBuildinRootDirectory方法
- 移除了ResourcePackage.GetPackageSandboxRootDirectory方法
- 移除了ResourcePackage.ClearPackageSandbox方法
- 移除了IBuildinQueryServices接口
- 移除了IDeliveryLoadServices接口
- 移除了IDeliveryQueryServices接口
## [2.1.2] - 2024-05-16
SBP库依赖版本升级至2.1.3
### Fixed
- (#236) 修复了资源配置界面AutoCollectShader复选框没有刷新的问题。
- (#244) 修复了导入器在安卓平台导入本地下载的资源失败的问题。
- (#268) 修复了挂起场景未解除状态前无法卸载的问题。
- (#269) 优化场景挂起流程,支持中途取消挂起操作。
- (#276) 修复了HostPlayMode模式下如果内置清单是最新版本每次运行都会触发拷贝行为。
- (#289) 修复了Unity2019版本脚本IWebRequester编译报错。
- (#295) 解决了在安卓移动平台,华为和三星真机上有极小概率加载资源包失败 : Unable to open archive file
### Added
- 新增GetAllCacheFileInfosOperation()获取缓存文件信息的方法。
- 新增LoadSceneSync()同步加载场景的方法。
- 新增IIgnoreRule接口资源收集流程可以自定义。
- 新增IWechatQueryServices接口用于微信平台本地文件查询。
后续将会通过虚拟文件系统来支持!
### Changed
- 调整了UnloadSceneOperation代码里场景的卸载顺序。
### Improvements
- 优化了资源清单的解析过程。
- 移除资源包名里的空格字符。
- 支持华为鸿蒙系统。
## [2.1.1] - 2024-01-17
### Fixed