3.x 插件消息 query-assets 的参数详细是?

如题,看到消息列表中,有 query-assets 消息,但是查阅了一遍各种文档,没有找到传入的参数应该是长什么样子的

已找到正确的使用方法:

Editor.Message.request("asset-db", "query-assets", {
    options: {
        pattern: "db://assets/resources/**"
    }
}).then((resp) => {
    console.log(JSON.stringify(resp));
});

但是查询结果并没有按照预期返回,按照上面的写法,目前返回了所有的资源,包括了 db://internal 里面

你好,文档写错了,多了 options 这一层,下图有效

文档会在 v3.7.3 中更新,此外这里提前解释一下接口和参数:

Editor.Message.request("asset-db", "query-assets",  options);

options : interface QueryAssetsOption {
    type?: string;  // scripts, scene, effect, image
    pattern?: string; // glob 格式 (db://**)
}

你好,‘type’ 这个方式,内部讨论后决定不对外开放,后续机制会移除掉它

感谢回复~

插件中,场景脚本要如何调用项目脚本

将项目脚本挂入某个节点 nodeA, 找到脚本组件 nodeA.getComponent(ccClassName) ,或者用
cc.js.getClassById(string)
cc.js.getClassByName(string) (不推荐,name 可能重名)
具体看一下引擎的 API 文档
找到脚本组件或脚本对象后就可以调用它的方法或静态方法了

3.x中的引擎的API文档就是没有说明调用项目脚本的方法,2.x中是有说明的,3.x文档中只举例描述了调用引擎API的方法,没有举例说明调用项目脚本的方法
https://docs.cocos.com/creator/manual/zh/editor/extension/scene-script.html#调用引擎-api

你可能理解错了,我是用插件中的场景脚本调用项目内的脚本

如果是 require 或 import 到的,这种情况我们不讨论;项目脚本在场景中被调用到方法,就上面两种情况;文档参考下这个 https://docs.cocos.com/creator/3.7/api/zh/variable/js.js?id=getClassById

扩展插件中的场景插件脚本,也是这样子调用 ???

场景脚本的调用方式不一样,场景脚本是随扩展(插件)的 package.json 中配置进去的,属于扩展往场景进程注册回调,和扩展的主进程和渲染进程交互得用 ipc 方法。这些都区别于项目脚本,项目脚本属于 assets 资源范畴。
编辑器扩展的文档 扩展编辑器 · Cocos Creator

你好,想问下pattern这个字段好像没有生效,这个要怎么筛选到具体的文件夹呢 image image

路劲后面加 “/**”

我现在用window对象来调整