一、需求
我有一个脚本,上面暴露了许多参数,我要在场景中拖物体给它进行配置。
如果不锁定Inspector面板的话,每次点击物体后,Inspector的内容就是刚点击的物体的内容,而不是挂载脚本的参数面板。
二、 解决
(1)找官方的快捷键,目前没找到
(2)查阅官方文档
(3)直接问GPT4,万一它已经学过了呢?!
直接给出代码:
csharp
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);
}
}