插件的入口 main.ts可以以 messsage 的方式来定义消息接口和对应的方法来工作,但是inspector中该如何来接收消息呢?
插件脚本与Inspector消息通信 已解决
Inspector 是有document的,插件的环境是纯nodejs的,没有document,因此无法对document进行dispatchEvent。
二者都可访问Message组件,但是Inpector并没有配置接受message的json,如下:
"inspector": {
"section": {
"node": {
"MyComp": "MyCompInspector.js"
}
}
},
通过调试inpector loading 上下文也没有发现处理message逻辑,而且Message官方文档没有添加事件监听的方法。
百般无奈时,经调试发现,运行时Editor.Message会添加addBroadcastEvent 和 removeBroadcastEvent两个方法。
调用方法如下:
(Editor.Message as any).addBroadcastListener("event", (e)->{});
(Editor.Message as any).removeBroadcastListener("event", (e)->{});