Version: 2022.3

OnDemandResourcesRequest

class in UnityEngine.iOS

/

继承自:AsyncOperation

切换到手册

描述

表示按需加载资源 (ODR) 的请求。它是一个 AsyncOperation,可在协同程序中生成。

**注意**:仅适用于 iOS。

创建 OnDemandResourcesRequest 等同于调用 NSBundleResourceRequest.beginAccessingResourcesWithCompletionHandler。该请求将使按需加载资源保持活动状态,直到调用 Dispose() 或者垃圾回收器收集该请求对象为止,这等同于调用 NSBundleResourceRequest.endAccessingResources

using UnityEngine;
using UnityEngine.iOS;
using System;
using System.Collections;

public static class Loader { public static IEnumerator LoadAsset(string resourceName) { // Create the request var request = OnDemandResources.PreloadAsync(new string[] { "Asset's ODR tag" });

// Wait until request is completed yield return request;

// Check for errors if (request.error != null) throw new Exception("ODR request failed: " + request.error);

// Get path to the resource and use it var path = request.GetResourcePath(resourceName); Debug.Log(path);

// Call Dispose() when resource is no longer needed. request.Dispose(); } }

变量

error在操作完成后返回错误。
loadingPriority设置请求的优先级。

公共函数

Dispose释放按需加载资源 (ODR) 请求使其保持活动状态的所有资源。
GetResourcePath获取指向按需加载资源 (ODR) 请求中可用资源的文件系统路径。

继承的成员

变量

allowSceneActivation允许在场景准备就绪后立即激活场景。
isDone操作是否已完成?(只读)
priorityPriority 允许您调整执行异步操作调用的顺序。
progress获取操作进度。(只读)

Events

completed操作完成时调用的事件。即使操作能够同步完成,也将在下一帧调用在创建它的调用所在的帧中注册的事件处理程序。如果处理程序是在操作完成后注册的,并且已调用 complete 事件,则将同步调用该处理程序。