Представляет собой запрос на Ресурсы По Требованию (ODR). Это AsyncOperation и может быть возвращен в сопутствующей программе.
NOTE: доступен только на 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();
}
}