114 lines
3.2 KiB
JavaScript
114 lines
3.2 KiB
JavaScript
"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(); |