[MenuItem("CONTEXT/组件名/按钮名字")] 生成组件的按钮扩展
[MenuItem("CONTEXT/组件名/按钮名字")] 生成组件的按钮扩展
MenuCommand.context可以获取到操作的组件 需要强制转型
undo 撤销
Editor操作的时候用Undo替代Gameobject的DestroyObjectImmediate 可以CTRL Z 撤销
%ctrl
#=
&
% = ctrl
# = shift
& = alt
[menuItem (,true,)]
static bool Validate(){}
[ContextMenuItem("按钮名字","方法名字")]
public int xxx;
给某个属性增加按钮方法
[contestmeun("id,setcolcor")]
void setcolor(){ }
创建一个脚本 :ScriptableWizard
定义修改项 public int ...
public int...
创建一个菜单按钮
[menuitem()]
static void createWizard(){ scriptableWizard.DisplayWizard<调用类名> }
onWizarCreat(){
监听点击
}
undo.recordObject(操作,"名称");
撤销
当前字段修改被调用
onwizardUpdate
onselectionchange
onwizardOtherbutton();
加油 支持 SIKI
新增菜单栏按钮
引入命名空间 Unity.Editor
[MenuItem("xx")]
注意方法要为静态方法
好好好好好好好好
Selection.activeGameObject是Hierarchy面板中被选择物体集合的第一个游戏物体
activeTransform是activeGameObject.transform的意思
objects是获取整个Unity中被选中的东西,即非Hierarchy面板也一样会获取
DeleteImmediate()立刻删除,删除的物体不会进入缓冲区保存,这样就无法用ctrl+z撤销删除操作,而系统自带的Delete是会保存的,下节课讲解如何放入缓冲区保存起来
Undo.DestroyObjectImmediate()
Undo撤销类里面的立刻删除物体方法,会先保存要删除的物体,让用户可以用ctrl+z撤销删除操作。
路径 后面加个空格后面要这样写
_X表示直接按X的快捷键
%表示ctrl,%X表示ctrl+X的快捷键,如果快捷键无效可能是输入法问题,要改成英文的