有时候需要在编辑器外,新建一些资源,不想点回编辑器内,就想直接触发编辑器内的资源刷新动作。
Creator 支持 url 直接触发。3D 里没有内置这个功能。
但是预留了 server 的开发接口 这个接口会在 3.0 修改
功能
发起 http 请求 http://127.0.0.1:7456/auto-refresh/refresh-all
在不点击编辑器的情况下自动刷新资源数据(AssetDB)
简单的测试
这个插件可以在 1.2 上运行,在浏览器里请求 http://127.0.0.1:7456/auto-refresh/refresh-all (127.0.0.1:7456 是自己 ip 和 creator 监听的端口,/auto-refresh/refresh-all 是插件里监听的 url),插件收到请求后,会发送 Message 请求刷新资源数据库,刷新完成后,http 链接返回 success 字符串。
实际代码就 9 行~~大家如果对 server 的接口有什么需求或者建议,都可以提出来吖,在 3.0 版本的修改中一起实现掉~
auto-refresh.zip (1.4 KB)
exports.get = [
{
url: '/auto-refresh/refresh-all',
async handle(req, res, next) {
await Editor.Message.request('asset-db', 'refresh-asset', 'db://assets');
res.send(`success`);
},
}
];