173 lines
5.3 KiB
JavaScript
173 lines
5.3 KiB
JavaScript
"use strict";
|
|
cc._RF.push(module, '8019dtJS2dDY7PM3xpjWqZ0', 'cmp.partner.upstar.popup');
|
|
// Scripts/mod/partner/cmps/basic/cmp.partner.upstar.popup.js
|
|
|
|
"use strict";
|
|
|
|
/******************************************************************
|
|
*
|
|
* 伙伴升星展示界面
|
|
*
|
|
******************************************************************/
|
|
|
|
var BridgeWindow = require("bridge.window");
|
|
var ItemBase = require("cmp.item.base");
|
|
var HeroController = require("hero_controller");
|
|
var SkillBase = require("cmp.skill.base");
|
|
cc.Class({
|
|
"extends": BridgeWindow,
|
|
properties: {
|
|
cmpIconold: {
|
|
"default": null,
|
|
type: ItemBase
|
|
},
|
|
cmpIconnew: {
|
|
"default": null,
|
|
type: ItemBase
|
|
},
|
|
lstSkills: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
lstProps: {
|
|
"default": null,
|
|
type: cc.Node
|
|
}
|
|
},
|
|
// 重载:参数打开
|
|
onOpenConfigs: function onOpenConfigs(_params) {
|
|
var _this = this;
|
|
this.partner_old = _params.old_vo;
|
|
this.partner_new = _params.new_vo;
|
|
|
|
// 无效
|
|
if (nx.dt.objEmpty(this.partner_new)) {
|
|
this.scheduleOnce(function () {
|
|
_this.close();
|
|
}, 0.03);
|
|
return;
|
|
}
|
|
nx.audio.playSFX("audios/effects/upstar");
|
|
|
|
// 刷新
|
|
this.fresh();
|
|
},
|
|
// 刷新
|
|
fresh: function fresh() {
|
|
var _this2 = this;
|
|
// 头像更新
|
|
this.cmpIconnew.setData(this.partner_new);
|
|
this.cmpIconold.setData(this.partner_old);
|
|
|
|
// 阶段更新
|
|
var HC = HeroController.getInstance();
|
|
var HM = HC.getModel();
|
|
|
|
// 属性更新
|
|
var k1 = this.partner_old.type + "_" + this.partner_old.break_id + "_" + this.partner_old.break_lev || 0;
|
|
var k2 = this.partner_new.type + "_" + this.partner_new.break_id + "_" + (this.partner_new.break_lev || 0);
|
|
var cbc = game.configs.partner_data.data_partner_brach[k1];
|
|
var nbc = game.configs.partner_data.data_partner_brach[k2];
|
|
if (nx.dt.objEmpty(cbc) || nx.dt.objEmpty(nbc)) {
|
|
this.scheduleOnce(function () {
|
|
_this2.close();
|
|
}, 0.03);
|
|
return;
|
|
}
|
|
|
|
// 首位为战力
|
|
var chds = this.lstProps.children;
|
|
var first = chds[0];
|
|
if (first) {
|
|
nx.gui.setString(first, "from", this.partner_old.power);
|
|
nx.gui.setString(first, "to", this.partner_new.power);
|
|
}
|
|
var config = game.configs.partner_data.data_partner_base[this.partner_new.bid];
|
|
// 技能数据
|
|
var key = this.partner_new.bid + "_" + this.partner_new.star;
|
|
var scfg = gdata("partner_data", "data_partner_star", key);
|
|
var old_key = this.partner_old.bid + "_" + this.partner_old.star;
|
|
var new_key = this.partner_new.bid + "_" + this.partner_new.star;
|
|
var old_star_config = gdata("partner_data", "data_partner_star", old_key);
|
|
var new_star_config = gdata("partner_data", "data_partner_star", new_key);
|
|
this.baseProps = ["hp", "atk", "def", "speed"];
|
|
// 属性
|
|
|
|
for (var i = 1; i < chds.length; i++) {
|
|
var base = this.baseProps[i - 1];
|
|
var now = this.partner_new[base];
|
|
var old = this.partner_old[base];
|
|
var node = chds[i];
|
|
nx.gui.setString(node, "from", old);
|
|
nx.gui.setString(node, "to", now);
|
|
}
|
|
nx.gui.setActive(this.lstSkills, "", false);
|
|
var chdskill = this.lstSkills.children;
|
|
// 技能提升
|
|
var old_skill = null;
|
|
var new_skill_list = {};
|
|
var new_skill_num = 0;
|
|
var dic_old_skill = {};
|
|
for (var _i in old_star_config.skills) {
|
|
var skill_info = old_star_config.skills[_i];
|
|
dic_old_skill[skill_info[0]] = skill_info[1];
|
|
}
|
|
for (var _i2 = 0; _i2 < new_star_config.skills.length; _i2++) {
|
|
var _skill_info = new_star_config.skills[_i2];
|
|
if (_skill_info[0] != 1) {
|
|
if (dic_old_skill[_skill_info[0]]) {
|
|
if (dic_old_skill[_skill_info[0]] != _skill_info[1]) {
|
|
if (!old_skill) {
|
|
old_skill = dic_old_skill[_skill_info[0]];
|
|
}
|
|
new_skill_list[_skill_info[0]] = _skill_info[1];
|
|
new_skill_num++;
|
|
}
|
|
} else {
|
|
// 新技能
|
|
if (!old_skill) {
|
|
old_skill = dic_old_skill[_skill_info[0]];
|
|
}
|
|
new_skill_list[_skill_info[0]] = _skill_info[1];
|
|
new_skill_num++;
|
|
}
|
|
}
|
|
}
|
|
var skills = this.partner_new.skills;
|
|
var show_skill = [];
|
|
if (!nx.dt.arrCompare(this.partner_new.skills, this.partner_old.skills)) {
|
|
for (var _i3 = 0; _i3 < skills.length; _i3++) {
|
|
var item = skills[_i3 + 1];
|
|
show_skill.push(item);
|
|
}
|
|
}
|
|
if (show_skill.length > 0) {
|
|
nx.gui.setActive(this.lstSkills, "", true);
|
|
for (var _i4 = 0; _i4 < chdskill.length; ++_i4) {
|
|
// 技能数组[0]为普攻,直接忽略,最多4个技能
|
|
var _item = chdskill[_i4];
|
|
var sifo = show_skill[_i4];
|
|
if (!sifo) {
|
|
_item.active = false;
|
|
continue;
|
|
} else {
|
|
_item.active = true;
|
|
var cmp = nx.gui.getComponent(_item, "", SkillBase);
|
|
if (cmp) {
|
|
cmp.setData(sifo.skill_bid);
|
|
}
|
|
}
|
|
}
|
|
nx.gui.setActive(this.lstSkills.parent, "", true);
|
|
} else {
|
|
nx.gui.setActive(this.lstSkills.parent, "", false);
|
|
}
|
|
},
|
|
// 点击关闭
|
|
onTouchClose: function onTouchClose() {
|
|
var HC = HeroController.getInstance();
|
|
HC.openBreakExhibitionWindow(false, this.skill);
|
|
}
|
|
});
|
|
|
|
cc._RF.pop(); |