cocos creator 插件问题

我想做一个插件:功能如下:
一个MainScene场景,里面有个@property({type:[cc.Prefab]}) templates: cc.prefab[] = [];
点击插件的生成按钮,就会把prefab放到脚本里面的一个属性里了,类似拖动prefab到inspector里面了

祝你好运…

先拿到prefab uuid,然后在场景脚本获取你要放的脚本,load({type:uuid,uuid:xxx})获取资源后赋值给他试试可不可以

我大致实现了一下是可以的,我是先拿到的prefab的uuid,
代码类似这样:
const loadPrefab = (dbUrl,uuid,templates,comName,index,hornNode,realNode) => {
// 加载prefab资源
return new Promise((resolve,reject) => {
cc.loader.load({uuid},async (err,res) => {
if(err) {
reject();
return;
}
// let resNode = cc.instantiate(res);
if(templates.indexOf(res) < 0) {

                    templates.push(res);
                    if(comName === "emptyTemplateController" || comName === "clickTemplateController") {
                        sceneTemplates[index] = {__uuid__: ""};
                    } else {
                        sceneTemplates[index] = {__uuid__: uuid};
                    }
                }
                
                if(res) {
                    Editor.log("com is ",res.data.getComponent(comName)," and active is ",res.data.active);
                    res.data.active = true;

                    if(!res.data.getComponent(comName)) {
                        
                        res.data.addComponent(comName);
                        // 刷新资源
                        await new Promise((resolveIn,rejectIn) => {
                            Editor.assetdb.saveExists(dbUrl,res.serialize(),() => {
                                resolveIn();
                            })
                        });
                        Editor.assetdb.refresh(dbUrl,() => {
                            Editor.log("资源刷新完成");
                            resolve();
                        });
                    } else {
                        resolve();
                    }
                }
            });
        })
    }

最后需要刷新一下编辑器