125 lines
3.6 KiB
JavaScript
125 lines
3.6 KiB
JavaScript
|
|
"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();
|