Unity でアセットを開くためのコールバック属性 (例えばプロジェクトブラウザーでアセットをダブルクリックしたとき、コールバックが発生)
Adding this attribute to a static method will make the method be called when Unity is about to open an asset. The method should have the following signature:
static bool OnOpenAsset(int instanceID, int line)
Return true if you handled the opening of the asset or false if an external tool should open it.
// 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 コールバックがあり、ある順序で呼び出したい場合に役立ちます。コールバックは 0 から順番通りに呼び出されます。