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 から順番通りに呼び出されます。