## 3-1.资源模块 - ResourceModule 资源模块运行模式有EditorSimulateMode、OfflinePlayMode以及HostPlayMode 编辑器模式下以顶部导航栏的选项卡为优先选项,打包后以Scene场景中ResourceModule脚本的Enum选项卡为优先选项(打包后不会走EditorSimulateMode) ``` csharp /// /// 获取当前资源包版本。 /// /// 资源包版本。 public string GetPackageVersion(); /// /// 异步更新最新包的版本。 /// /// 请求URL是否需要带时间戳。 /// 超时时间。 /// 请求远端包裹的最新版本操作句柄。 public UpdatePackageVersionOperation UpdatePackageVersionAsync(bool appendTimeTicks = false, int timeout = 60); /// /// 向网络端请求并更新清单 /// /// 更新的包裹版本 /// 更新成功后自动保存版本号,作为下次初始化的版本。 /// 超时时间(默认值:60秒) public UpdatePackageManifestOperation UpdatePackageManifestAsync(string packageVersion, bool autoSaveVersion = true, int timeout = 60); /// /// 创建资源下载器,用于下载当前资源版本所有的资源包文件。 /// public ResourceDownloaderOperation CreateResourceDownloader(); /// /// 清理包裹未使用的缓存文件。 /// public ClearUnusedCacheFilesOperation ClearUnusedCacheFilesAsync(); /// /// 清理沙盒路径。 /// public void ClearSandbox(); /// /// 强制执行释放未被使用的资源。 /// /// 是否使用垃圾回收。 public void ForceUnloadUnusedAssets(bool performGCCollect); /// /// 检查资源是否存在。 /// /// 要检查资源的名称。 /// 检查资源是否存在的结果。 public HasAssetResult HasAsset(string assetName); /// 同步加载资源。 /// /// 要加载资源的名称。 /// 要加载资源的类型。 /// 资源实例。 T LoadAsset(string assetName) where T : Object; /// /// 同步加载资源。 /// /// 要加载资源的名称。 /// 父节点位置。 /// 要加载资源的类型。 /// 资源实例。 T LoadAsset(string assetName, Transform parent) where T :Object; /// /// 同步加载资源。 /// /// 资源操作句柄。 /// 要加载资源的名称。 /// 要加载资源的类型。 /// 资源实例。 T LoadAsset(string assetName,out AssetOperationHandle handle) where T : Object; /// /// 同步加载资源。 /// /// 要加载资源的名称。 /// 资源操作句柄。 /// 父节点位置。 /// 要加载资源的类型。 /// 资源实例。 T LoadAsset(string assetName, Transform parent,out AssetOperationHandle handle) where T :Object; /// /// 异步加载资源。 /// /// 要加载资源的名称。 /// 取消操作Token。 /// 要加载资源的类型。 /// 异步资源实例。 UniTask LoadAssetAsync(string assetName,CancellationToken cancellationToken) where T : Object; /// /// 异步加载游戏物体。 /// /// 要加载的游戏物体名称。 /// 取消操作Token。 /// 异步游戏物体实例。 UniTask LoadGameObjectAsync(string assetName,CancellationToken cancellationToken); /// /// 同步加载资源并获取句柄。 /// /// 要加载资源的名称。 /// 要加载资源的类型。 /// 同步加载资源句柄。 AssetOperationHandle LoadAssetGetOperation(string assetName) where T : Object; /// /// 异步加载资源并获取句柄。 /// /// 要加载资源的名称。 /// 要加载资源的类型。 /// 异步加载资源句柄。 AssetOperationHandle LoadAssetAsyncHandle(string assetName) where T : Object; /// /// 同步加载子资源对象 /// /// 资源类型 /// 资源的定位地址 public SubAssetsOperationHandle LoadSubAssetsSync(string location) where TObject : UnityEngine.Object; /// /// 异步加载子资源对象 /// /// 资源类型 /// 资源的定位地址 public SubAssetsOperationHandle LoadSubAssetsAsync(string location) where TObject : UnityEngine.Object; /// /// 同步加载子资源对象 /// /// 资源信息。 public SubAssetsOperationHandle LoadSubAssetsSync(AssetInfo assetInfo); /// /// 异步加载场景。 /// /// 场景的定位地址 /// 场景加载模式 /// 加载完毕时是否主动激活 /// 优先级 /// 异步加载场景句柄。 SceneOperationHandle LoadSceneAsync(string location, LoadSceneMode sceneMode = LoadSceneMode.Single, bool activateOnLoad = true, int priority = 100); /// /// 异步加载场景 /// /// 场景的资源信息 /// 场景加载模式 /// 加载完毕时是否主动激活 /// 优先级 /// 异步加载场景句柄。 SceneOperationHandle LoadSceneAsync(AssetInfo assetInfo, LoadSceneMode sceneMode = LoadSceneMode.Single, bool activateOnLoad = true, int priority = 100); ```