Объявление
public static Object[] LoadAll(string path);public static Object[] LoadAll(string path, Type systemTypeInstance);
Параметры
path | Путь к целевой папке. При использовании пустой строки (например, "") функция загрузит все содержимое папки "Ресурсы". |
systemTypeInstance | Введите фильтр для возвращаемых объектов. |
Описание
Загружает все ресурсы в папку или файл по path
в папке Resources.
Если path
ссылается на папку, будут возвращены все ресурсы в папке.
Если path
указывает на файл, будет возвращен только этот актив.
path
относится к любой папке Resources внутри папки Assets вашего проекта.
Примечание. Все имена ресурсов и пути в Unity используют косую черту. Пути, использующие обратную косую черту, не будут работать.
// Loads all assets in the "Resources/Textures" folder
// Then picks a random one from the list.
// Note: Random.Range in this case returns [low,high)
// range, i.e. the high value is not included in the range.
using UnityEngine;
public class ExampleClass : MonoBehaviour
{
private Object[] textures;
private GameObject go;
void Start()
{
textures = Resources.LoadAll("Textures", typeof(Texture2D));
foreach (var t in textures)
{
Debug.Log(t.name);
}
go = GameObject.CreatePrimitive(PrimitiveType.Cube);
}
void OnGUI()
{
if (GUI.Button(new Rect(10, 70, 150, 30), "Change texture"))
{
// change texture on cube
Texture2D texture = (Texture2D)textures[Random.Range(0, textures.Length)];
go.GetComponent<Renderer>().material.mainTexture = texture;
}
}
}
Объявление
public static T[] LoadAll(string path);Параметры
path | Путь к целевой папке. При использовании пустой строки (например, "") функция загрузит все содержимое папки "Ресурсы". |
Описание
Загружает все ресурсы в папку или файл по path
в папке Resources.
Если path
ссылается на папку, будут возвращены все ресурсы в папке.
Если path
указывает на файл, будет возвращен только этот актив.
Будут возвращены только объекты типа T
.
путь
относится к любой папке Resources внутри папки Assets вашего проекта.
Пример сценария ниже показывает, как LoadAll можно использовать с Linq.
// Loads all assets in the "Resources/Textures" folder
// using Linq.
using UnityEngine;
using System.Linq;
public class ExampleClass : MonoBehaviour
{
void Start()
{
var textures = Resources.LoadAll("Textures", typeof(Texture2D)).Cast<Texture2D>().ToArray();
foreach (var t in textures)
Debug.Log(t.name);
}
}