菜单MenuItem

添加到自建菜单下

using UnityEditor;
using UnityEngine;

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

添加到已有菜单下,并设置优先级

默认优先级为1000,一般为菜单最底一项

[MenuItem("GameObject/ts1")]
static void ts1()
{
    Debug.Log("ts1");
}
  1. 菜单下的菜单项按照优先级分组,每组间隔10
  2. 在Hierarchy窗口鼠标右键显示的是GameObjec菜单的内容;在Projec窗口鼠标右键显示的是Assets菜单的内容,不过需要在特定组的才会显示。

eg:

[MenuItem("GameObject/ts1",false,6)]
static void ts1()
{
    Debug.Log("ts1");
}

添加到右键脚本组件时的菜单栏中

在这里插入图片描述
代码:
[MenuItem(“CONTEXT/脚本名/xxx”)]

sing UnityEditor;
using UnityEngine;

public class ScriptEditorTest
{
    [MenuItem("CONTEXT/脚本名/xxx")]
    static void fun1()
    {
        Debug.Log("fun1");
    }
}

MenuCommand的使用

使用MenuCommand可以获取右键的组件对象
eg:右键菜单修改Rigidbody的属性

[MenuItem("CONTEXT/Rigidbody/xxx")]
    static void fun2(MenuCommand cmd)
    {
        Rigidbody rigidbody = cmd.context as Rigidbody;
        rigidbody.mass = 1.0f;
        rigidbody.useGravity = false;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值