/* * @Descripttion: 常用方法 * @version: 1.0.0 * @Author: YeeChan * @Date: 2020-07-21 16:48:23 */ export default class Common { static Type = 0; static SpeTip = ""; static subLevel = 0; static GameSubTipConfigs = null; static GameSubAnswerConfigs = null; static GameSubChooseArray = null; static GameguizeArray = null; /** * 创建一个预制体 * @param prefab 预制体 * @param type 类型 * @param parent 接收的父节点 为null 则放到场景中 场景必须要有 Canvas 节点 */ public static createPrefab_custom(prefab: cc.Prefab, type: { prototype: T }, parent?: cc.Node,): T { let node = cc.instantiate(prefab); if (parent) { parent.addChild(node); } else { cc.director.getScene().getChildByName('Canvas').addChild(node); } let src = node.getComponent(type); return src; } /** * * @param bundlename 分包名 * @param url 预制体地址 * @param parentNode 父节点 * @param callback 回调函数 */ public static getPrefabFromBundle(bundlename = "subRes_resources", url: string, parentNode: cc.Node =null, callback = null) { let subres = cc.assetManager.getBundle(bundlename); if (subres) { subres.load(url, cc.Prefab, (err, prefab: cc.Prefab) => { if (err) { console.log('加载预制体错误>:', err) return null; } console.log("加载成功:", prefab.name); var prefabNode = cc.instantiate(prefab); if(parentNode !=null){ parentNode.addChild(prefabNode) }else{ cc.director.getScene().getChildByName("Canvas").addChild(prefabNode);; } // prefabNode.parent = parentNode; if (callback) { callback(prefabNode); } }) } } }