Unity拓展编辑器(1)顶部菜单栏拓展

1,在Assets目录下创建一个Editor的文件夹.

这个文件夹是unity默认存放拓展编辑器脚本的地方,打包项目文件时不会被一起打包,只能在编辑器模式下使用。

2,在Editor下创建一个脚本MenuExpansion

3,实现MenuExpansion

(1)导包;using UnityEditor;

(2)使用特性MenuItem;注意Polygon/Triangle,一定要有/Triangle(即有子菜单),只有Polygon会报错。

(3)方法为static

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class MenuExpansion : MonoBehaviour
{
    [MenuItem("Polygon/Triangle")]
    static void triangle()
    {
        Debug.Log("多边形下的三角形");
    }
}

效果展示

如果想要在已有的目录下展示,那么就修改代码

[MenuItem("GameObject/Triangle")]
    static void triangle()
    {
        Debug.Log("多边形下的三角形");
    }

4,特性MenuItem的3种重载方法

在这个重载中,MenuItem特性接受三个参数:

  • 第一个参数是菜单项的路径和名称。
  • 第二个参数是一个布尔值,用于指示验证函数是否应该被调用。如果为true,则第一个方法(验证函数)会被调用;如果为false,则第二个方法(实际执行的命令)会被调用。
  • 第三个参数是一个优先级值,用于决定菜单项在菜单中的排序。值越大,菜单项的位置越靠后,超过10会出现下划线。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class MenuExpansion : MonoBehaviour
{
    [MenuItem("Polygon/Triangle",false,11)]
    static void triangle()
    {
        Debug.Log("多边形下的三角形");
    }
    [MenuItem("Polygon/Triangle",true,11)]
    static bool triangleValidation()
    {
        return false;
    }
    [MenuItem("Polygon/Rectangle", false, 0)]
    static void rectangle()
    {
        Debug.Log("多变形下的矩形");
    }
}

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值