"use strict";var i=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var q=(t,e)=>{for(var a in e)i(t,a,{get:e[a],enumerable:!0})},C=(t,e,a,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of p(e))!w.call(t,s)&&s!==a&&i(t,s,{get:()=>e[s],enumerable:!(r=b(e,s))||r.enumerable});return t};var I=t=>C(i({},"__esModule",{value:!0}),t);var D={};q(D,{load:()=>k,methods:()=>x,unload:()=>E});module.exports=I(D);function k(){}function E(){}var l=t=>new Promise(e=>setTimeout(e,t));async function M(t){var r;let e=global.Editor;if(!((r=e==null?void 0:e.Message)!=null&&r.request))return{ok:!1,message:"Editor.Message \u4E0D\u53EF\u7528"};let a=!1;for(let s=0;s<40;s++){try{if(await e.Message.request("asset-db","query-asset-info",t)){a=!0;break}}catch(n){}try{await e.Message.request("asset-db","refresh-asset",t)}catch(n){}await l(250)}return a?{ok:!0}:{ok:!1,message:`\u811A\u672C\u8D44\u6E90\u672A\u5BFC\u5165: ${t}`}}async function $(t){let{js:e}=require("cc");for(let a=0;a<120;a++){let r=e.getClassByName(t);if(r)return r;await l(250)}return null}var x={async createPrefab(t,e,a,r){let s=null;try{let n=global.Editor,{Node:g,Layers:m,UITransform:d}=require("cc"),c=await M(r);if(!c.ok)return{success:!1,message:c.message||"\u811A\u672C\u8D44\u6E90\u5BFC\u5165\u5931\u8D25"};let u=await $(e);if(!u)return{success:!1,message:`\u7C7B ${e} \u52A0\u8F7D\u8D85\u65F6\uFF0C\u8BF7\u786E\u4FDD\u811A\u672C\u5DF2\u4FDD\u5B58\u3001\u6210\u529F\u5BFC\u5165\u5E76\u5B8C\u6210\u7F16\u8BD1\u3002\u811A\u672C\u8DEF\u5F84: ${r}`};let y=t.replace(".prefab","");s=new g(y),s.layer=m.Enum.UI_2D,s.addComponent(d);let o=s.addComponent(u);if(!o)return{success:!1,message:`\u7EC4\u4EF6 ${e} \u6302\u8F7D\u5931\u8D25`};typeof o.resetInEditor=="function"&&o.resetInEditor();let f=global.cce.Prefab.generatePrefabDataFromNode(s);return await n.Message.request("asset-db","create-asset",a,f.prefabData||f),{success:!0,url:a,message:"\u521B\u5EFA\u6210\u529F"}}catch(n){return{success:!1,message:n.message||"\u521B\u5EFA\u5931\u8D25"}}finally{s!=null&&s.isValid&&s.destroy()}}};0&&(module.exports={load,methods,unload});