Описание
Атрибут обратного вызова для открытия ресурса в Unity (например, обратный вызов запускается при двойном щелчке ресурса в браузере проектов).
Добавление этого атрибута к статическому методу приведет к вызову метода, когда Unity собирается открыть ресурс. Метод должен иметь одну из следующих сигнатур:static bool OnOpenAsset(int instanceID, int line)
static bool OnOpenAsset( int instanceID, int строка, int столбец)
Верните true, если вы обработали открытие ресурса, или false, если его должен открыть внешний инструмент.
// C# example:
using UnityEngine;
using UnityEditor;
using UnityEditor.Callbacks;
public class MyAssetHandler
{
[OnOpenAssetAttribute(1)]
public static bool step1(int instanceID, int line)
{
string name = EditorUtility.InstanceIDToObject(instanceID).name;
Debug.Log("Open Asset step: 1 (" + name + ")");
return false; // we did not handle the open
}
// step2 has an attribute with index 2, so will be called after step1
[OnOpenAssetAttribute(2)]
public static bool step2(int instanceID, int line)
{
Debug.Log("Open Asset step: 2 (" + instanceID + ")");
return false; // we did not handle the open
}
}
OnOpenAssetAttribute имеет возможность указать индекс порядка в обратном вызове, начиная с 0. Это полезно, если у вас есть более одного обратного вызова OnOpenAssetAttribute, и вы хотите, чтобы они вызывались в определенном порядке. Обратные вызовы вызываются по порядку, начиная с нуля.