Объявление
public RunBeforeClassAttribute(Type type);public RunBeforeClassAttribute(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)
{
}
}