Skip to content

Latest commit

 

History

History
57 lines (36 loc) · 3.78 KB

File metadata and controls

57 lines (36 loc) · 3.78 KB

[LoadFromResources]

Что это: Атрибут [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, будет загружен первый, который найдет система, и порядок не гарантирован. Поэтому для получения конкретного ассета всегда лучше указывать путь.