ResourcesAPI
класс в UnityEngine
Выполнено в:UnityEngine.CoreModule
Описание
Унаследуйтесь от этого базового класса, чтобы предоставить альтернативные реализации поведения C# для конкретных Resources методы.
В примере показано время, затраченное на обработку медленных Ресурсов APIs в журнале игрока или редактора.
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; } }
Статические свойства
| Свойство | Описание |
|---|---|
| overrideAPI | Конкретный экземпляр ResourcesAPI, используемый для обработки переопределённых методов Resources. |
Защищенные методы
| Метод | Описание |
|---|---|
| FindObjectsOfTypeAll | Переопределение для настройки поведения функции Resources.FindObjectsOfTypeAll. |
| FindShaderByName | Переопределение для настройки поведения функции Shader.Find. |
| Load | Переопределение для настройки поведения функции Resources.Load. |
| LoadAll | Переопределение для настройки поведения функции Resources.LoadAll. |
| LoadAsync | Переопределение для настройки поведения функции Resources.LoadAsync. |
| UnloadAsset | Переопределение для настройки поведения функции Resources.Unload. |