Files
fc/dev/project/library/imports/ea/eabcf40c-0364-44c9-945a-b5cdc96ef613.js
T

114 lines
3.2 KiB
JavaScript
Raw Normal View History

2026-05-24 10:21:26 +08:00
"use strict";
cc._RF.push(module, 'eabcfQMA2REyZRatc3JbvYT', 'cmp.partner.skills');
// Scripts/mod/partner/cmps/basic/cmp.partner.skills.js
"use strict";
/******************************************************************
*
* 伙伴信息页 --- 升阶
*
******************************************************************/
var BridgeComponent = require("bridge.component");
var HeroConst = require("hero_const");
var HeroEvent = require("hero_event");
var HeroControl = require("hero_controller");
var HeroCalculate = require("hero_calculate");
var BackPackConst = require("backpack_const");
var BIT = BackPackConst.item_type;
var HEQP = HeroConst.EquipPosList;
cc.Class({
"extends": BridgeComponent,
properties: {
lstSkills: {
"default": null,
type: cc.Node
}
},
// 显示
onEnable: function onEnable() {
// 视图监听
this.vbind([["ShowPartner", this.onPartnerChanged.bind(this)]]);
// 事件监听
this.bindGEvent(HeroEvent.Hero_Data_Update, this.onPartnerUpdate.bind(this));
},
// 隐藏
onDisable: function onDisable() {
// 视图监听解除
this.vunbind();
// 事件监听解除
this.unbindGEvents();
},
// 置空
setEmpty: function setEmpty() {
nx.gui.setActive(this.lstSkills, "", false);
},
// 有伙伴数据更新
onPartnerUpdate: function onPartnerUpdate(_vo) {
if (_vo && this.partner && _vo.partner_id == this.partner.partner_id) {
this.onPartnerChanged(_vo);
}
},
// 伙伴更新
onPartnerChanged: function onPartnerChanged(_partner) {
if (!_partner) {
return;
}
this.partner = _partner;
var weapon = {};
// 置空
if (nx.dt.objEmpty(this.partner)) {
this.setEmpty();
return;
}
if (this.partner.eqm_list) {
var list = this.partner.eqm_list;
for (var i in list) {
var eqm = list[i];
if (i == 41) {
weapon = eqm;
}
}
}
var change = false;
// 数据统计
var key = this.partner.bid + "_" + this.partner.star;
var wcfg = nx.dt.objNEmpty(weapon) ? game.configs.weapon_data.data_get_skill[weapon.base_id] : {};
if (nx.dt.objNEmpty(wcfg)) {
change = this.partner.bid == wcfg.partner_id;
}
var scfg = gdata("partner_data", "data_partner_star", key);
var k1 = this.partner.type + "_" + this.partner.break_id + "_" + this.partner.break_lev;
var cbc = game.configs.partner_data.data_partner_brach[k1];
if (nx.dt.objEmpty(scfg) || nx.dt.objEmpty(cbc)) {
nx.error("技能刷新失败,当前配置无效!", k1);
this.setEmpty();
return;
}
nx.gui.setActive(this.lstSkills, "", true);
var count = cbc.skill_num - 1;
var chds = this.lstSkills.children;
for (var _i = 0; _i < chds.length; ++_i) {
// 技能数组[0]为普攻,直接忽略,最多4个技能
var item = chds[_i];
var sifo = scfg.skills[_i + 1];
// let sifo = scfg.skills[i+1];
if (!sifo) {
item.active = false;
continue;
}
item.active = true;
var cmp = nx.gui.getComponent(item, "", "cmp.skill.base");
if (cmp) {
cmp.setData(_i == chds.length - 2 && change ? wcfg.skill_id : sifo[1], _i + 1 > count);
}
}
}
});
cc._RF.pop();