实际需求是:我创建了一个ScriptableObject类型的文件,保存在了Assets文件夹下的某个确定的子文件夹位置中。我想要双击该文件时,弹出编辑该文件的自定义编辑窗口。那么问题来了。怎么响应这个双击的事件呢?
在UnityEditor.Callbacks这个命名空间下,有个OnOpenAssetAtttribute特性。这个特性会响应上述事件。
具体代码如下
[UnityEditor.CallBacks.OnOpenAssetAttribute(1)]//这个括号内的1说明的是响应顺序,不写默认是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
}
简单使用如上。根据instanceID可以很容易的获取到想要的信息。对其进行判断处理即可。
最后附上再哪里找到的。http://www.unity.5helpyou.com/3550.html。感谢大佬的整理