[cb] Unity Editor 添加右键菜单

本文为作者原创,转载请注明出处:https://www.cnblogs.com/zhaoqingqing/p/3799294.html



需求#

为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();
            }
        }
    }
}
作者:赵青青   一名在【网易游戏】做游戏开发的程序员,擅长Unity3D,游戏开发,.NET等领域。
本文版权归作者和博客园共有,欢迎转载,转载之后请务必在文章明显位置标出原文链接和作者,谢谢。
如果本文对您有帮助,请点击【推荐】您的赞赏将鼓励我继续创作!想跟我一起进步么?那就【关注】我吧。
posted @   赵青青  阅读(6022)  评论(0编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
CONTENTS
点击右上角即可分享
微信分享提示