Unity Editor编辑器实用扩展

目录

备忘:Unity编辑器常用路径

1.MenuItem使用方法

 .Unity编辑器工具栏扩展;

   .Inspector工具栏扩展;

   .Hierarchy工具栏扩展;

   .Project工具栏扩展。

2.ContextMenu和ConTextMenuItem:

3.Selection类

4.编辑器实用方法汇总

5.inspector 扩展GM工具

6.Inspector_PopList

7.MenuTool查找预制中的中文

8.unity 检测 资源导入


备忘:Unity编辑器常用路径

   // System.Environment.CurrentDirectory : 在Unity中指工程的跟目录,即与Assets目录是平级的。

ex:
BuildPipeline.BuildPlayer(scenes,  System.Environment.CurrentDirectory+"xcode", BuildTarget.iOS, BuildOptions.None);

1.MenuItem使用方法

♦ 参数

MenuItem("Tools/Test", true, 23):

1.菜单路径,以/分割;

2.是否为验证函数,默认为false;

3.菜单的优先级,数字越小显示在越上方。并且俩相邻菜单间差距为11以上的优先级会被分为两组,即菜单间会多个分隔线。默认为1000。

♦ 菜单的快捷键

单独的一个按键以“空格 + 下划线 + 想要的按键”增加在路径后缀,空格千万不要忘记。

“Tools/Test _g”,即在Unity中按下g就可以直接执行该菜单。

以“Tools/Test %&g”表示按住ctrl和alt,再按下g就能触发。特殊符号:%(ctrl/cmd)、#(shift)、&(alt)。

其他支持的按键:LEFT、RIGHT、UP、DOWN、F1..F12、HOME、END、PGUP、PGDN。

当然也支持类似#LEFT是左shift之类的按键。

♦ 菜单使用注意

1.创建GameObject时,使用GameObjectUtility.SetParentAndAlign方法设置父节点,可以重置坐标;

2.使用类似于Undo.RegisterCreatedObjectUndo方法注册撤销操作(这个我们之后在讨论)。

 .Unity编辑器工具栏扩展;

[MenuItem("Tools/Test", false, 23)]
public static void Test()
{
    Debug.Log("Test");
}
 
[MenuItem("Tools/Test", true, 23)]
public static bool ValidateTest()
{
    return true;
}

   .Inspector工具栏扩展;

为脚本右键添加菜单

[MenuItem("CONTEXT/Transform/Test4")]
public static void Test4()
{
    Debug.Log("Test4");
}

   .Hierarchy工具栏扩展;

Hierarchy窗口下的右键菜单就是GameObject菜单栏中的部分菜单

[MenuItem("GameObject/Test2", false, 11)]
public static void PasteTRValue()
{
    Debug.Log("Test2");
}
 

   .Project工具栏扩展。

Project中的是Assets所有的。

[MenuItem("Assets/Test3", false)]
public static void Test3()
{
    Debug.Log("Test3");
}

2.ContextMenu和ConTextMenuItem:

Inspector窗口中添加菜单,但与MenuItem不同的是写在本身Component脚本中,也就是隶属于UnityEngine

♦ ContextMenuItem参数

ContextMenuItem("Add Hour", "AddHour", order = 1):

1.菜单的名称;

2.菜单执行的方法,要求脚本中必须有;

3.按钮的先后顺序。

using UnityEngine;
 
public class Clock : MonoBehaviour
{
    //在右键变量名称时添加菜单
    [ContextMenuItem("Add Hour", "AddHour", order = 1)]
    public int Hour = 10;
 
    public void AddHour()
    {
        Hour += 1;
    }
 
    [ContextMenu("Sub Hour", false, 10)]
    public void SubHour()
    {
        Hour -= 1;
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值