本文目录 11 个章节
编辑器扩展
创建时间:2020/6/3 15:15
编辑器扩展
菜单项
MenuItem
常用的菜单那位置
整个Unity编辑器顶头的菜单栏;
Inspector挂Component的;
Hierarchy游戏物体节点树的;
Project游戏资源文件的。
验证菜单栏
为某个菜单项写一个bool方法。 第二个参数表示,是否为验证函数
class Program
{
static void Main(string[] args)
{
dynamic dyn = 1;
object obj = 1;
dyn = dyn + 3;
//obj = obj + 3; 报错
// Rest the mouse pointer over dyn and obj to see their
// types at compile time.
System.Console.WriteLine(dyn.GetType());
System.Console.WriteLine(obj.GetType());
}
}
自定义快捷键
菜单名称+空格+快捷键 _g 按下字母g 修饰符: % Ctrl; # Shift; & Alt LEFT、RIGHT、UP、DOWN、F1..F12、HOME、END、PGUP、PGDN
class Program
{
static void Main(string[] args)
{
dynamic dyn = 1;
object obj = 1;
dyn = dyn + 3;
//obj = obj + 3; 报错
// Rest the mouse pointer over dyn and obj to see their
// types at compile time.
System.Console.WriteLine(dyn.GetType());
System.Console.WriteLine(obj.GetType());
}
}
优先级
默认为1000 差距为11以上分组
给组件或脚本添加右键方法(Inspector)
传入参数 MenuCommand command.context : 被右键点击的脚本对象
class Program
{
static void Main(string[] args)
{
dynamic dyn = 1;
object obj = 1;
dyn = dyn + 3;
//obj = obj + 3; 报错
// Rest the mouse pointer over dyn and obj to see their
// types at compile time.
System.Console.WriteLine(dyn.GetType());
System.Console.WriteLine(obj.GetType());
}
}
其他位置
class Program
{
static void Main(string[] args)
{
dynamic dyn = 1;
object obj = 1;
dyn = dyn + 3;
//obj = obj + 3; 报错
// Rest the mouse pointer over dyn and obj to see their
// types at compile time.
System.Console.WriteLine(dyn.GetType());
System.Console.WriteLine(obj.GetType());
}
}
ContextMenu & ContextMenuItem
写在本身Component脚本中,隶属于UnityEngine命名空间,会被打包。
功能和参数与MenuItem完全一致
非静态
ContextMenuItem: 给你在右键变量名称时添加菜单 参数:1.菜单的名称;2.菜单执行的方法,要求脚本中必须有;3.按钮的先后顺序。
class Program
{
static void Main(string[] args)
{
dynamic dyn = 1;
object obj = 1;
dyn = dyn + 3;
//obj = obj + 3; 报错
// Rest the mouse pointer over dyn and obj to see their
// types at compile time.
System.Console.WriteLine(dyn.GetType());
System.Console.WriteLine(obj.GetType());
}
}
注册撤销操作
Undo.RegisterCreatedObjectUndo方法注册撤销操作