Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

AssetImportContext.DependsOnCustomDependency

Объявление

public void DependsOnCustomDependency(string dependency);

Параметры

dependency Имя зависимости. Вы можете использовать любое имя, которое вам нравится, но поскольку эти имена являются глобальными для всех ваших ресурсов, может быть полезно использовать соглашение об именах (например, систему имен на основе пути, как в примере ниже), чтобы избежать конфликтов с другими именами пользовательских зависимостей. .

Описание

Позволяет указать, что объект имеет пользовательскую зависимость.

Используйте пользовательскую зависимость, если нужно настроить зависимость от чего-то, что не может быть выражено ни как зависимость исходного ресурса, ни как зависимость артефакта.

using UnityEngine; using UnityEditor.AssetImporters; using UnityEditor.Experimental; using UnityEngine.Assertions; using UnityEditor; class MySystem { public const string CustomDependencyName = "MyProject/Settings"; public static string GetSetting() { return "42"; } public static void RegisterCustomDependency() { // You cannot register a custom dependency during the Asset Import process, so this method must be called before the Asset is imported. AssetDatabaseExperimental.RegisterCustomDependency(CustomDependencyName, Hash128.Compute(GetSetting())); } } class SomeValue : ScriptableObject { public int value; } [ScriptedImporter(1, "data", AllowCaching = true)] public class MyDataImporter : ScriptedImporter { public override void OnImportAsset(AssetImportContext ctx) { ctx.DependsOnCustomDependency(MySystem.CustomDependencyName); var someObj = ScriptableObject.CreateInstance(); var setting = MySystem.GetSetting(); if (setting == "42") someObj.value = 100; else someObj.value = -1; ctx.AddObjectToAsset("someObj", someObj); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3