编辑器功能:用一个快捷键来【锁定】或【解开】Inspector面板

一、需求

我有一个脚本,上面暴露了许多参数,我要在场景中拖物体给它进行配置。
如果不锁定Inspector面板的话,每次点击物体后,Inspector的内容就是刚点击的物体的内容,而不是挂载脚本的参数面板。
在这里插入图片描述

二、 解决

(1)找官方的快捷键,目前没找到
(2)查阅官方文档
(3)直接问GPT4,万一它已经学过了呢?!

直接给出代码:

class Example : EditorWindow
{
    
    
	#if UNITY_EDITOR
    [MenuItem("快捷功能/锁定Inspector面板 _%#SPACE")] //Ctrl + Shift + Space
	#endif
    static void LockInspector()
    {
    
    
        var inspectorType = typeof(UnityEditor.Editor).Assembly.GetType("UnityEditor.InspectorWindow");
        var inspectorInstance = EditorWindow.GetWindow(inspectorType);

        bool isLocked = (bool)inspectorType.GetProperty("isLocked").GetValue(inspectorInstance, null);
        bool lockStatusToSet = !isLocked;

        inspectorType.GetProperty("isLocked").SetValue(inspectorInstance, lockStatusToSet, null);
    }

}

猜你喜欢

转载自blog.csdn.net/dzj2021/article/details/133887735