看别人在Unity的编辑器上添加菜单那么帅,我也要给Unity添加菜单
【摘要】 推荐阅读CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875 一、前言今天分享,如何添加自定义菜单栏,效果如下图所示。第一种,在Component组件菜单下面:第二种,添加到编辑器的菜单栏下: 二、添加组件菜单有两个重载函数:第一种,不带参数实现:using System.Collections;using System.Collection...
推荐阅读
一、前言
今天分享,如何添加自定义菜单栏,效果如下图所示。
第一种,在Component组件菜单下面:
第二种,添加到编辑器的菜单栏下:
二、添加组件菜单
有两个重载函数:
第一种,不带参数实现:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
[AddComponentMenu("Tools/自定义菜单")]
public class addTest : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
第二种,使用参数:
menuName:菜单名
order:排序
public AddComponentMenu(string menuName, int order);
比如说,我在Tools菜单下有很多个子菜单,但是为了控制它们之间的排序情况,就可以使用order参数,如下所示:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
[AddComponentMenu("Tools/自定义菜单1",1)]
public class addTest : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
[AddComponentMenu("Tools/自定义菜单2",2)]
public class addTest2 : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
这样,自定义菜单1就会一直排在自定义菜单2的前面了。
三、添加菜单栏菜单
代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class addTest : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
[MenuItem("Tools/菜单栏菜单")]
static void Test()
{
}
}
当然,这个也可以使用priority参数排序优先级。
isValidateFunction验证函数: 如果isValidateFunction为 true,它将表示一个验证 函数,并在系统调用具有相同 itemName 的菜单函数之前进行调用。
这里就不演示了,有需要可以验证一下。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)