在资源目录下的Editor文件夹下的脚本。
引用UnityEditor并继承Editor类
[MenuItem("MyEditor/MyFunction")]
放在静态方法的前面,在上面的菜单栏会出现MyEditor选项,点击下选项中的MyFunction会执行相应的静态方法
using UnityEngine;
using UnityEditor;
public class MyEditor : Editor {
[MenuItem("MyEditor/SelectHierarchyGameObject")]
static void SelectHierarchyGameObject() {
//Hierarchy(游戏场景)中的游戏物体
GameObject[] selects = Selection.gameObjects;
for (int i = 0; i < selects.Length; i++) {
Debug.Log(selects[i]);
}
}
[MenuItem("MyEditor/SelectProjectGameObject")]
static void SelectProjectGameObject() {
//Project中的文件
Object[] selects = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);
for (int i = 0; i < selects.Length; i++) {
Debug.Log(selects[i]);
}
}
}
#补充:2017年3月2日 18:35:38
扩展窗口的方法添加快捷键
[MenuItem("MyEditor/MyFunction #&%A")]
static void SelectHierarchyGameObject(){}
#:Shift
&:Alt
%:Ctrl
//按下Shift+Alt+Ctrl+A键也会调用SelectHierarchyGameObject方法
#补充:2018年8月10日 16:47:59
弹出提示窗
UnityEditor.EditorUtility.DisplayDialog("Error", "提示窗内容", "确认");