静态函数标签,显示位置:选中一个资源asset,鼠标右键弹出
[MenuItem("Assets/这是一个选中Asset资源,右键弹出的工具项", true, 0)]
为true时可以理解为该函数是验证函数,需要返回bool值,代表该选项是否可用。false时表示不可用时选项会置灰
[MenuItem("Assets/这是一个选中Asset资源,右键弹出的工具项", false, 0)]
为false时会直接调用该函数
静态函数标签,显示位置:选中一个资源GameObject,鼠标右键弹出
[MenuItem("GameObject/这是一个选中GameObject资源,右键弹出的工具项", true, 0)]
true,false解释同上
静态函数标签,标题栏中
[MenuItem("动画数据处理/RootMotion/导出选中", true, 0)]
true,false解释同上
编辑器内弹窗
bool isok = EditorUtility.DisplayDialog("RootMotion导出", "导出完成!!", "ok", "cancle");
isOk:表示点击了 ok / cancle
编辑器内进度条
EditorUtility.DisplayProgressBar("标题", "content", progressValue);
progressValue:type:float, 0 - 1 之间
鼠标位置弹出菜单
GenericMenu
示例代码:
var menu = new GenericMenu();
var names = _infoTabs // type: list<string>;
GenericMenu.MenuFunction2 fun = (name) =>
{
curChooseInfos = name as string;
};
for (int i = 0; i < names.Count; i++)
{
bool isOn = curChooseInfos == names[i]; // 是否是选中态
menu.AddItem(new GUIContent(names[i]), isOn, fun, names[i]);
}
menu.ShowAsContext();
Hierarchy面板中用代码选中一个物体并高亮
EditorGUIUtility.PingObject(par);
Selection.activeTransform = par // 有多个可以选择使用
效果:(忽略掉水印)