unity 编辑器扩展

本文介绍了如何在Unity编辑器中扩展功能,包括添加Unity菜单栏按钮并设置优先级,为组件右键菜单添加按钮,实现对选中物体的操作,给按钮添加快捷键,控制菜单栏按钮的启用状态,使用ContextMenu和ContextMenuItem创建右键菜单,创建对话框,编辑模式下数据的保存以及显示进度条和创建自定义窗口等实用技巧。
摘要由CSDN通过智能技术生成

引入UnityEditor;
不继承MonoBehaviour

添加Unity菜单栏按钮

    [MenuItem("Tools/test/test1")]
    static void Test()
    {
   
        Debug.Log("Test");
    }

效果:点击unity的菜单栏中Tools/test/test1会打印出Test

设置按钮的优先级

	[MenuItem("Tools/test/test1", false, 2)]
    static void Test1()
    {
   
        Debug.Log("Test1");
    }

    [MenuItem("Tools/test/test2", false, 1)]
    static void Test2()
    {
   
        Debug.Log("Test2");
    }

由于test2的优先级是1,test1的优先级是2
test2的优先级更高
所以在菜单栏中test2在test1的上方

按钮的分组
当优先级相差较大时,会将按钮分组

	[MenuItem("Tools/test/test1", false, 2)]
    static void Test1()
    {
   
        Debug.Log("Test1");
    }

    [MenuItem("Tools/test/test2", false, 100)]
    static void Test2()
    {
   
        Debug.Log("Test2");
    }

    [MenuItem("Tools/test/test3", false, 1)]
    static void Test3()
    {
   
        Debug.Log("Test3");
    }

这时菜单栏中test3和test1为一组,在最上方,test2在另一组
不同组之间有一条线隔开
在这里插入图片描述

给组件右键菜单栏添加按钮

    [MenuItem("CONTEXT/Rigidbody/TestButton")]// CONTEXT 组件名 按钮名
    static void TestButton()
    {
   
        Debug.Log("Test");
    }

此时右键点击Rigidbody组件,菜单里会出现TestButton按钮,点击这个按钮将打印Test
在这里插入图片描述

获得当前的组件

    [MenuItem("CONTEXT/Rigidbody/TestButton")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值