[cb] Unity Editor 添加右键菜单

需求

为Unity的Editor窗口添加右键菜单

image image 

实现代码

// This example shows how to create a context menu inside a custom EditorWindow.
class MyGenericMenu extends EditorWindow {
    
    @MenuItem("Game/Open Window")
    static function Init () {
        var window = GetWindow (MyGenericMenu);
        window.position = Rect (50, 50, 250, 60);
        window.Show ();
    }

    function Callback (obj:Object) {
        Debug.Log ("Selected: " + obj);
    }

    function OnGUI() {
        var evt : Event = Event.current;
        var contextRect : Rect = new Rect (10, 10, 100, 100);
        
        if (evt.type == EventType.ContextClick)
        {
            var mousePos : Vector2 = evt.mousePosition;
            if (contextRect.Contains (mousePos))
            {
                // Now create the menu, add items and show it
                var menu : GenericMenu = new GenericMenu ();
                
                menu.AddItem (new GUIContent ("MenuItem1"), false, Callback, "item 1");
                menu.AddItem (new GUIContent ("MenuItem2"), false, Callback, "item 2");
                menu.AddSeparator ("");
                menu.AddItem (new GUIContent ("SubMenu/MenuItem3"), false, Callback, "item 3");
                
                menu.ShowAsContext ();

                evt.Use();
            }
        }
    }
}
posted @ 2014-06-20 14:33  赵青青  阅读(5962)  评论(0编辑  收藏  举报