Files
fc/dev/project/library/imports/71/718b71cb-8b05-4357-a513-8d549b206476.js
T

125 lines
3.6 KiB
JavaScript
Raw Normal View History

2026-05-24 10:21:26 +08:00
"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();