Selection.activeGameObject是Hierarchy面板中被选择物体集合的第一个游戏物体
activeTransform是activeGameObject.transform的意思
objects是获取整个Unity中被选中的东西,即非Hierarchy面板也一样会获取
DeleteImmediate()立刻删除,删除的物体不会进入缓冲区保存,这样就无法用ctrl+z撤销删除操作,而系统自带的Delete是会保存的,下节课讲解如何放入缓冲区保存起来
Selection.activeGameObject是Hierarchy面板中被选择物体集合的第一个游戏物体
activeTransform是activeGameObject.transform的意思
objects是获取整个Unity中被选中的东西,即非Hierarchy面板也一样会获取
DeleteImmediate()立刻删除,删除的物体不会进入缓冲区保存,这样就无法用ctrl+z撤销删除操作,而系统自带的Delete是会保存的,下节课讲解如何放入缓冲区保存起来
as 强制转换不会报错,但返回空值
(对象)变量 括号强转类型失败的时候会直接报错
using UnityEngine;
using UnityEditor;
public class PlayerEditor : MonoBehaviour {
//给游戏对象的组件(脚本)上添加右键时的新建项
// CONTEXT 组件名 按钮名
[MenuItem("CONTEXT/PlayerHealth/InitHealthAndSpeed")]
static void InitHealthAndSpeed()
{
Debug.Log("Init");
}
}
加油 支持 SIKI
[ContextMenuItem("按钮名字","方法名字")]
public int xxx;
给某个属性增加按钮方法
% = ctrl
# = shift
& = alt
Editor操作的时候用Undo替代Gameobject的DestroyObjectImmediate 可以CTRL Z 撤销
MenuCommand.context可以获取到操作的组件 需要强制转型
[MenuItem("CONTEXT/组件名/按钮名字")] 生成组件的按钮扩展
selection可以获取游戏物体
Undo.DestroyObject 可撤消的删除
Undo的操作都可撤消
MenuCommand cmd.context//当前正在操作的组件
给脚本添加右键菜单
MenuItem(“C”)
菜单栏分组
priority 值相差11 才能分类(大于10)
右键添加按钮
MenuItem(“gameobject/path”,false,10)
[MenuItem] 在工具栏添加按钮 (方法必须为静态方法)
编辑器能做的事:
1、更改菜单
2、创建窗口
3、更改Inspector面板
1、将编辑器代码写进Editor里面
onwizardOtherbutton();
当前字段修改被调用
onwizardUpdate
onselectionchange
undo.recordObject(操作,"名称");
撤销
onWizarCreat(){
监听点击
}