Что это: Атрибут [LoadAllFromResources] автоматизирует процесс загрузки всех ассетов указанного типа (префабов, ScriptableObject, материалов и т.д.) из папки Resources и назначает их в поле типа м...
Как использовать: см. разделы ниже.
Пространство имен: (global)
Путь: Scripts/PropertyAttribute/InjectAttribute/LoadAllFromResourcesAttribute.cs
Атрибут [LoadAllFromResources] автоматизирует процесс загрузки всех ассетов указанного типа (префабов, ScriptableObject, материалов и т.д.) из папки Resources и назначает их в поле типа массив или List.
Это особенно полезно для загрузки коллекций конфигурационных файлов или наборов ассетов, которые должны быть доступны для скрипта без необходимости вручную создавать и заполнять массив в инспекторе.
Поместите атрибут над полем, которое является массивом или списком (List<T>). Тип T должен быть типом ассета, который вы хотите загрузить (например, GameObject, Material, MyScriptableObject).
Пример:
using System.Collections.Generic;
using UnityEngine;
public class LevelDatabase : MonoBehaviour
{
// Загрузит все ассеты типа LevelData из всех папок Resources
[LoadAllFromResources]
public List<LevelData> allLevels;
// Загрузит все материалы из папки Resources/Skins/Swords
[LoadAllFromResources("Skins/Swords")]
public Material[] swordSkins;
}resourcePath(string): Необязательный параметр. Указывает путь к подпапке внутри любой папкиResourcesв проекте.- Если путь указан (например,
"Skins/Swords"), поиск будет ограничен этой подпапкой. - Если путь не указан, поиск будет произведен по всем папкам
Resources.
- Если путь указан (например,
- Расположение ассетов: Для корректной работы атрибута все необходимые ассеты должны находиться внутри папки с названием
Resources. - Тип поля: Атрибут работает только с полями, которые являются массивами (
T[]) или списками (List<T>). - Перезапись: Загрузка и автозаполнение происходят только в том случае, если поле равно
nullили коллекция пуста (не содержит элементов). Это сделано для того, чтобы случайно не перезаписать ссылки, которые были назначены вручную.