Объявление
public RunAfterClassAttribute(Type type);public RunAfterClassAttribute(string assemblyQualifiedName);
Параметры
type | Тип класса, который должен быть запущен перед этим обратным вызовом. |
assemblyQualifiedName | Полное сборкой имя типа класса, которое должно быть запущено перед этим обратным вызовом. Этот атрибут зависимости будет игнорироваться, если имя не может быть разрешено, например, если класс отсутствует в текущем проекте. |
Описание
Добавьте этот атрибут в метод обратного вызова, чтобы отметить, что этот обратный вызов должен выполняться после любых обратных вызовов, являющихся частью указанного класса.
Чтобы определить зависимости для обратного вызова, используйте следующие атрибуты:
- RunAfterClassAttribute, RunBeforeClassAttribute
- RunAfterAssemblyAttribute, RunBeforeAssemblyAttribute
- RunAfterPackageAttribute, RunBeforePackageAttribute
При вызове обратного вызова Unity создает граф зависимостей и использует топологическую сортировку, чтобы убедиться, что все зависимости выполняются последовательно на основе их зависимостей. Если в проекте нет зависимостей обратных вызовов, то инструкция будет проигнорирована при создании графа зависимостей.
Примечание. Определение зависимостей обратного вызова в настоящее время поддерживается только обратным вызовом AssetPostprocessor.OnPostprocessAllAssets.
using UnityEditor;
using UnityEditor.Callbacks;
class RunFirst : AssetPostprocessor
{
[RunBeforeClass(typeof(RunNext))]
static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
{
}
}
class RunNext : AssetPostprocessor
{
static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
{
}
}
class RunLast : AssetPostprocessor
{
[RunAfterClass(typeof(RunNext))]
static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
{
}
}