Version: 2022.1

ResourcesAPI

class in UnityEngine

切换到手册

描述

Derive from this base class to provide alternative implementations to the C# behavior of specific Resources methods.

The example provided logs the time taken to handle slower Resources APIs to the player or editor log.

using System;
using System.Diagnostics;
using UnityEngine;
using Object = UnityEngine.Object;
using Debug = UnityEngine.Debug;

public class ResourcesPerformanceLogger : ResourcesAPI { [RuntimeInitializeOnLoadMethod] static void OnRuntimeMethodLoad() { ResourcesAPI.overrideAPI = new ResourcesPerformanceLogger(); }

protected override Object[] FindObjectsOfTypeAll(Type systemTypeInstance) { Stopwatch timer = new Stopwatch(); timer.Start(); Object[] results = base.FindObjectsOfTypeAll(systemTypeInstance); timer.Stop(); Debug.Log($"FindObjectsOfTypeAll({systemTypeInstance}) Time: {timer.Elapsed}"); return results; }

protected override Shader FindShaderByName(string name) { Stopwatch timer = new Stopwatch(); timer.Start(); Shader result = base.FindShaderByName(name); timer.Stop(); Debug.Log($"FindShaderByName({name}) Time: {timer.Elapsed}"); return result; }

protected override Object[] LoadAll(string path, Type systemTypeInstance) { Stopwatch timer = new Stopwatch(); timer.Start(); Object[] results = base.LoadAll(path, systemTypeInstance); timer.Stop(); Debug.Log($"LoadAll({path}, {systemTypeInstance}) Time: {timer.Elapsed}"); return results; } }

静态变量

overrideAPIThe specific ResourcesAPI instance to use to handle overridden Resources methods.

受保护的函数

FindObjectsOfTypeAllOverride for customizing the behavior of the Resources.FindObjectsOfTypeAll function.
FindShaderByNameOverride for customizing the behavior of the Shader.Find function.
LoadOverride for customizing the behavior of the Resources.Load function.
LoadAllOverride for customizing the behavior of the Resources.LoadAll function.
LoadAsyncOverride for customizing the behavior of the Resources.LoadAsync function.
UnloadAssetOverride for customizing the behavior of the Resources.Unload function.
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961