Что это: Атрибут [LoadFromResources] автоматизирует процесс загрузки одного ассета указанного типа (префаба, ScriptableObject, материала и т.д.) из папки Resources и назначает его в поле.
Как использовать: см. разделы ниже.
Пространство имен: (global)
Путь: Scripts/PropertyAttribute/InjectAttribute/LoadFromResourcesAttribute.cs
Атрибут [LoadFromResources] автоматизирует процесс загрузки одного ассета указанного типа (префаба, ScriptableObject, материала и т.д.) из папки Resources и назначает его в поле.
Это удобно для получения ссылки на какой-либо центральный конфигурационный файл или префаб, который должен быть доступен по всему проекту, без необходимости создавать на него прямую ссылку в инспекторе.
Поместите атрибут над полем, тип которого является типом ассета, который вы хотите загрузить (например, GameObject, Material, MyScriptableObject).
Пример с указанием пути:
using UnityEngine;
public class GameManager : MonoBehaviour
{
// Загрузит ассет GameSettings из папки Resources/Configs/
[LoadFromResources("Configs/GameSettings")]
public GameSettings gameSettings;
}Пример без указания пути:
Если путь не указан, атрибут попытается найти и загрузить первый попавшийся ассет, соответствующий типу поля.
// Загрузит первый найденный ассет типа PlayerData из всех папок Resources
[LoadFromResources]
public PlayerData playerData;resourcePath(string): Необязательный параметр. Указывает путь к ассету относительно любой папкиResourcesв проекте (расширение файла указывать не нужно).- Если путь указан, будет загружен конкретный ассет.
- Если путь не указан, будет загружен первый найденный ассет подходящего типа.
- Расположение ассетов: Для корректной работы атрибута ассет должен находиться внутри папки с названием
Resources. - Перезапись: Загрузка и автозаполнение происходят только в том случае, если поле равно
null. Это сделано для того, чтобы случайно не перезаписать ссылку, которая была назначена вручную. - Уникальность: Если вы не указываете путь и в проекте есть несколько ассетов нужного типа в папках
Resources, будет загружен первый, который найдет система, и порядок не гарантирован. Поэтому для получения конкретного ассета всегда лучше указывать путь.