using UnityEngine;
using UnityEditor;
public class MyGenericMenu : EditorWindow
{
[MenuItem("Tools/Open")]
static void OpenWindow()
{
var window = GetWindow<MyGenericMenu>();
window.position = new Rect(50, 50, 250, 60);
window.Show();
}
private void OnGUI()
{
Event e= Event.current;
Rect rect= new Rect(10, 10, 100, 100);
if (e.type==EventType.ContextClick)
{
Vector2 mosPosition = e.mousePosition;
if (rect.Contains(mosPosition))
{
GenericMenu menu = new GenericMenu();
menu.AddDisabledItem(new GUIContent("AddDisabledItem"));
menu.AddSeparator("");
menu.AddItem(new GUIContent("MenuItem1"), false, CallBack, "MenuItem1");
menu.AddItem(new GUIContent("MenuItem2"), false, CallBack, "MenuItem2");
menu.AddSeparator("");
menu.AddItem(new GUIContent("SubMenu/MenuItem3"), false, CallBack, "MenuItem3");
menu.AddSeparator("SubMenu/");
menu.AddItem(new GUIContent("SubMenu/MenuItem4"), false, CallBack, "MenuItem4");
menu.ShowAsContext();
e.Use();
}
}
}
private void CallBack(object obj)
{
Debug.Log("Click:"+obj);
}
}
自定义窗口添加右键菜单
最新推荐文章于 2024-08-17 13:55:26 发布