Unity利用编辑器扩展实现不运行程序执行脚本方法
- 举例:假如你有一个2d项目,需要给99张image赋值99个sprite,但是一个一个手动拖拽赋值也不现实,但是也不想等程序运行之后动态赋值,那么接下来这个方法可以完美的解决我们的问题
- ContextMenu 编辑器扩展——这个属性允许你去定义上下文菜单。它和使用MenuItem并以“CONTEXT/…”作为路径定义菜单项一样。
这个属性不同的是,你能给指定的组件定义默认的上下文菜单项,然而使用MeneItem只是为了扩展现有的组件菜单,比如引擎默认的组件。
示例-组件将显示一个用于清除数据的菜单项:
//编辑器扩展
[ContextMenu("53-99年资源准备")]
public void Method()
{
for (int i = 0; i < image53_99.Length; i++)
{
image53_99[i].sprite = sprite53_99[i];
image53_99[i].name = sprite53_99[i].name;
}
}
- 然后在Component上右键调用该函数,神奇的事情就发生了