开发过程中一些快捷操作可以让你减少一些重复操作
接下来说下怎么把Hierarche 窗口组件快速展开和折叠
全选你要折叠的物体 按着Shift键点击开头第一个 然后选择最后一个这样就全部选择要操作的组件
然后按着 Alt键+小键盘旁边的方向键 Alt键+→快速展开 Alt键+ ←快速折叠
inspector窗口组件快速展开折叠
如果遇见一个物体上挂载多个脚本你想要快速展开和折叠 这样就需要借助编辑器扩展Edito完成
新建脚本 InspectorManagerEditor
下面贴出代码
using UnityEditor;
using System.Reflection;
/// <summary>
/// 描述:全部 展开/收起 Inspector面板的所有组件、
/// author:
/// todo 还可以深度定制,添加两个按钮切换
/// </summary>
//[CustomEditor(typeof(Transform))]
public class InspectorManagerEditor : Editor
{
#region ===字段===
#endregion
#region ===Unity事件=== 快捷键: Ctrl + Shift + M /Ctrl + Shift + Q 实现
// 显示两个可以点击的Button
[MenuItem("DajiaGame/InspectorManager/全部展开组件... %#&m")]
static void Expansion()
{
var type = typeof(EditorWindow).Assembly.GetType("UnityEditor.InspectorWindow");
var window = EditorWindow.GetWindow(type);
FieldInfo info = type.GetField("m_Tracker", BindingFlags.NonPublic | BindingFlags.Instance);
ActiveEditorTracker tracker = info.GetValue(window) as ActiveEditorTracker;
for (int i = 0; i < tracker.activeEditors.Length; i++)
{
可以通过名子单独判断组件展开或不展开
//if (tracker.activeEditors[i].target.GetType().Name != "NewBehaviourScript")
//{
//这里1就是展开,0就是合起来
tracker.SetVisible(i, 1);
//}
}
}
[MenuItem("DajiaGame/InspectorManager/全部收起组件... %#&n")]
static void Shrinkage()
{
var type = typeof(EditorWindow).Assembly.GetType("UnityEditor.InspectorWindow");
var window = EditorWindow.GetWindow(type);
FieldInfo info = type.GetField("m_Tracker", BindingFlags.NonPublic | BindingFlags.Instance);
ActiveEditorTracker tracker = info.GetValue(window) as ActiveEditorTracker;
for (int i = 0; i < tracker.activeEditors.Length; i++)
{
//这里1就是展开,0就是合起来
tracker.SetVisible(i, 0);
}
}
#endregion
#region ===方法===
#endregion
}
新建文件夹Editor把这个脚本放在这个文件夹下
然后通过快捷键或者 选择这里就可以将 inspector窗口一个物体的组件快速展开和关闭