当在creator的场景编辑器中点击某个node的时候,需要开发者的插件面板捕获到这个node的相关信息,并对改node进行一些坐标,颜色之类的处理,有点类似 属性检查器的功能,不知道目前有办法实现不,查找到论坛上之前有人问过类似问题
http://forum.cocos.com/t/topic/51267
1赞
selection:activated
selection:deactivated
可以获得当前选中的节点
Editor.Ipc.sendToPanel('scene', 'scene:query-node', uuid, () => {});
可以拿到 node 的 dump 数据
Editor.Ipc.sendToPanel('scene', 'scene:set-property', {
id: this.node.id,
path: 'name',
type: 'String',
value: event.target.value,
isSubProp: false,
});
最后要改数据可以发送这个消息让 scene 更改节点的数据
2赞
调用ipc消息
Editor.Ipc.sendToPanel('scene', 'scene:set-property', {})
改变node的属性后,并没有提示保存,如果直接切换其他Prefab进行编辑,会导致当前正在编辑的Prefab丢失,保存的接口是啥呢?
Editor.Ipc.sendToPanel('scene', 'scene:set-property', {
id: this.node.id,
path: 'name',
type: 'String',
value: event.target.value,
isSubProp: false,
});
isSubProp是什么意思呢,实际使用过程中发现不传递也没啥区别
不用管这个 isSubProp,这是用来标示判断最外层的类型不是最终类型的标记。
比如 [cc.Node], 这种数据类型并不是最外层的 Array
修改完成后发送一下这个消息就可以记录更改了~退出的时候会问是否需要保存~
这个流程有些问题,之后会做优化,暂时先这么发送吧。
Editor.Ipc.sendToPanel('scene', 'scene:undo-commit');