Cocos 如何 锁住 属性检查器 inspector

正在做插件开发,有个功能需要:

在inspector活动的情况下,选择场景中的节点,将其依次纳入一个Node数组中。

问题是inspector插件在切换node的时候会失效,因而无法接收到selection:selected消息。

点解?

目前只能点击 inspector 面板的锁,进行锁住 inspector,没有提供消息

多谢!多谢!

问题是inspector插件在切换node的时候会失效,因而无法接收到selection:selected消息,这个可以在描述的清楚一点,‘selection:select’ 是全局广播的,应该不会被 inspector 影响才对

原来inspector右上角可以固定当前inspector的我才发现 :rofl:,之前拖属性对应的节点组件时候时候点了一个在回头点另外一个,节点多的时候很累很麻烦,这下方便了

1赞

我正好在看这个问题,我这边插件结构是这样的:
在package.json中定义了 message,如:

"messages": {
"selection:select": {
	"methods": [
		"on_selected"
	]
}

},

插件的Main.ts是可以接收到这个消息的,但是子组件 inspector 依然接收不到这个消息,
我看 vue3.template 的panel的例子中可以 变为 default.on_select,那么如何在锁定inspector的情况下讲这个消息转发到 inspector中,或者是否可以直接调用某个类似 Editor.Message.AddEventListener() 的方法?

他这里的 default.on_select,default,是 package.json 里面定义 panel 的 default 属性,如果没有写 xxx.on_select, 在主进程定义这个 on_selected 消息就可以接收到了

可以的话,可以截图看一下你是在哪里定义 on_selected

代码跟踪使用了比较hack的方法但是能解决我的问题:

(document.getElementById("dock") as any).$layout.lastChild.firstChild.$panels.$groups.$panels.firstChild.option.setLocked(true)