"use strict"; cc._RF.push(module, '718b7HLiwVDV6UTjVSbIGR2', 'battle_effect_mgr'); // Scripts/mod/battle/act/battle_effect_mgr.js "use strict"; var BatEftMgr = cc.Class({ properties: {}, initConfig: function initConfig() { //场景特效所属 this.bat_eft_nodes = []; //节点列表控制 this.bat_eft_keylist = {}; //effect_key 方便使用 //人物特效所属 this.bat_role_eftnodes = {}; this.bat_eft_idlist = {}; this.eft_pre_path = "prefab/battle/battle_effect"; this.eft_res_assets = {}; }, loadFab: function loadFab() { var _this = this; nx.res.loadPrefab(this.eft_pre_path, function (_err, _fab) { // 载入错误 if (_err) { console.log("effect模型节点加载失败"); return; } _this.fabEft = _fab; }); }, //新生成一个场景特效节点 createEft: function createEft(effect_key, parent, scene_pos, reverse, effect_id, scale) { if (!this.fabEft) return; var node = cc.instantiate(this.fabEft); var cmp = nx.gui.getComponent(node, "", "battle_effect_node"); if (cmp) { cmp.createEffect(parent, scene_pos, reverse, effect_id, scale); this.bat_eft_keylist[effect_key] = cmp; this.bat_eft_nodes.push(node); return cmp; } else { console.log("effect组件获取失败"); } }, findEft: function findEft(effect_key) { var cmp = this.bat_eft_keylist[effect_key]; if (cmp) { return cmp; } else { return null; } }, //获得组 getEfts: function getEfts() { return this.bat_eft_keylist; }, //生成一个人物特效 createRoleEft: function createRoleEft(eft_idname, parent, scene_pos, reverse, effect_id, scale) { if (!this.fabEft) return; var node = cc.instantiate(this.fabEft); var cmp = nx.gui.getComponent(node, "", "battle_effect_node"); if (cmp) { cmp.createEffect(parent, scene_pos, reverse, effect_id, scale); this.bat_eft_idlist[eft_idname] = cmp; this.bat_role_eftnodes[eft_idname] = node; return cmp; } else { console.log("effect组件获取失败2"); } }, findRoleEft: function findRoleEft(eft_idname) { var cmp = this.bat_eft_idlist[eft_idname]; // console.log("roleeft=======>",eft_idname,cmp); if (cmp) { return cmp; } }, //可能有问题 delRoleEft: function delRoleEft(eft_idname) { var nod = this.bat_role_eftnodes[eft_idname]; if (nod) { nod.destroy(); delete this.bat_role_eftnodes[eft_idname]; delete this.bat_eft_idlist[eft_idname]; } }, resetAll: function resetAll() { this.bat_eft_idlist = {}; this.bat_eft_keylist = {}; for (var i in this.bat_eft_nodes) { if (this.bat_eft_nodes[i] && this.bat_eft_nodes[i].destroy) { if (this.bat_eft_nodes[i].isValid) { this.bat_eft_nodes[i].destroy(); } } } this.bat_eft_nodes = []; for (var _i in this.bat_role_eftnodes) { if (this.bat_role_eftnodes[_i] && this.bat_role_eftnodes[_i].destroy) { if (this.bat_role_eftnodes[_i].isValid) { this.bat_role_eftnodes[_i].destroy(); } } } this.bat_role_eftnodes = {}; }, reset: function reset() { if (this.fabEft && this.fabEft.destroy) { this.fabEft.destroy(); } }, setEftresAssets: function setEftresAssets(_key) { var res = this.eft_res_assets[_key]; if (res) return; this.eft_res_assets[_key] = true; }, releaseResAssets: function releaseResAssets() { for (var i in this.eft_res_assets) { cc.loader.releaseRes(i, sp.SkeletonData); } this.eft_res_assets = {}; } }); module.exports = BatEftMgr; cc._RF.pop();