Unity编辑器扩展简介

在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");
    }
}

猜你喜欢

转载自blog.csdn.net/czhenya/article/details/79382539