Unity编辑器扩展简介

举报
陈言必行 发表于 2021/08/13 22:32:36 2021/08/13
【摘要】 在Editor文件夹下创建脚本(只在Unity编辑下使用,不会被打包)。 Unity API 链接:http://unity3d.com/cn/learn/tutorials/topics/interface-essentials/unity-editor-extensions-menu-items Path参数的一些额外注意事项: 如果首个词是已经存在的菜单...

在Editor文件夹下创建脚本(只在Unity编辑下使用,不会被打包)。

Unity API 链接:http://unity3d.com/cn/learn/tutorials/topics/interface-essentials/unity-editor-extensions-menu-items


Path参数的一些额外注意事项:

  • 如果首个词是已经存在的菜单名字(“Assets”, “Window”等),你的菜单项将被添加到这个菜单下(除了Component)
    你必须指定一个根菜单和一个菜单项名字
    允许在所有菜单名以及菜单项名字中出现空格
    可以选择在项名字加空格后的地方指定一个按键来设置快捷键

1


MenuItem属性的另一个实现方法就是添加验证方法的连接以及指定你菜单项的排列顺序的功能。

  • MenuItem(string path, bool isValidateFunction, int priority)

参数:
isValidateFunction — 当置为真,使得这个方法在相应的方法(另外一个有MenuItem标签的有相同路径的方法)可以运行前被调用。
Priority —  这个值指定菜单项出现在每个菜单中的顺序。

这里写图片描述

这里写图片描述

上图代码:

using UnityEngine;
using UnityEditor;  //引入命名空间

public class Tools { //[MenuItem("路径/子路径/...",flase,优先级)] //优先级之间的差大于11,就分栏 [MenuItem("MyTool/MyTool1",false,0)] static void MyTool1() { Debug.Log("MyTool111"); } [MenuItem("MyTool/MyTool2", false,12)] static void MyTool2() { Debug.Log("MyTool222"); } [MenuItem("MyTool/MyTool3", false, 1)] static void MyTool3() { Debug.Log("MyTool333"); }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。

原文链接:czhenya.blog.csdn.net/article/details/79382539

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。