138 lines
3.7 KiB
JavaScript
138 lines
3.7 KiB
JavaScript
|
|
"use strict";
|
||
|
|
cc._RF.push(module, 'e583a6x4E1Lrqjy1omKK52o', 'cmp.partner.upgrade.popup');
|
||
|
|
// Scripts/mod/partner/cmps/basic/cmp.partner.upgrade.popup.js
|
||
|
|
|
||
|
|
"use strict";
|
||
|
|
|
||
|
|
/******************************************************************
|
||
|
|
*
|
||
|
|
* 伙伴进阶展示界面
|
||
|
|
*
|
||
|
|
******************************************************************/
|
||
|
|
|
||
|
|
var BridgeWindow = require("bridge.window");
|
||
|
|
var ItemBase = require("cmp.item.base");
|
||
|
|
var HeroController = require("hero_controller");
|
||
|
|
cc.Class({
|
||
|
|
"extends": BridgeWindow,
|
||
|
|
properties: {
|
||
|
|
cmpIcon: {
|
||
|
|
"default": null,
|
||
|
|
type: ItemBase
|
||
|
|
},
|
||
|
|
lstStars: {
|
||
|
|
"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;
|
||
|
|
}
|
||
|
|
|
||
|
|
// 刷新
|
||
|
|
this.fresh();
|
||
|
|
},
|
||
|
|
// 刷新
|
||
|
|
fresh: function fresh() {
|
||
|
|
var _this2 = this;
|
||
|
|
// 头像更新
|
||
|
|
this.cmpIcon.setData(this.partner_new);
|
||
|
|
|
||
|
|
// 阶段更新
|
||
|
|
var HC = HeroController.getInstance();
|
||
|
|
var HM = HC.getModel();
|
||
|
|
var cur = this.partner_new.break_lev;
|
||
|
|
var max = HM.getHeroMaxBreakCountByInitStar(this.partner_new.init_star);
|
||
|
|
var chs = this.lstStars.children;
|
||
|
|
for (var i = 1; i <= max; ++i) {
|
||
|
|
var node = chs[i - 1];
|
||
|
|
nx.gui.setActive(node, "on", i <= cur);
|
||
|
|
nx.gui.setActive(node, "off", i > cur);
|
||
|
|
}
|
||
|
|
|
||
|
|
// 属性更新
|
||
|
|
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 second = chds[1];
|
||
|
|
if (second) {
|
||
|
|
nx.gui.setString(second, "from", cbc.lev_max);
|
||
|
|
nx.gui.setString(second, "to", nbc.lev_max);
|
||
|
|
}
|
||
|
|
|
||
|
|
// 其他属性
|
||
|
|
for (var _i = 2; _i < chds.length; ++_i) {
|
||
|
|
var _node = chds[_i];
|
||
|
|
var att = nbc.all_attr[_i - 1];
|
||
|
|
if (!att) {
|
||
|
|
_node.active = false;
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
_node.active = true;
|
||
|
|
var id = att[0];
|
||
|
|
var name = game.configs.attr_data.data_key_to_name[id];
|
||
|
|
nx.gui.setString(_node, "name", nx.text.getKey(name));
|
||
|
|
if (id == "hp_max") {
|
||
|
|
id = "hp";
|
||
|
|
}
|
||
|
|
nx.gui.setString(_node, "from", this.partner_old[id]);
|
||
|
|
nx.gui.setString(_node, "to", this.partner_new[id] || 0);
|
||
|
|
}
|
||
|
|
|
||
|
|
// 有新技能解锁
|
||
|
|
this.skill = null;
|
||
|
|
if (nbc.skill_num > cbc.skill_num) {
|
||
|
|
var key = this.partner_new.bid + "_" + this.partner_new.star;
|
||
|
|
var scfg = gdata("partner_data", "data_partner_star", key);
|
||
|
|
if (scfg) {
|
||
|
|
var sid = null;
|
||
|
|
for (var _i2 in scfg.skills) {
|
||
|
|
if (scfg.skills[_i2][0] == nbc.skill_num) {
|
||
|
|
sid = scfg.skills[_i2][1];
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (sid) {
|
||
|
|
this.skill = sid;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
// 点击关闭
|
||
|
|
onTouchClose: function onTouchClose() {
|
||
|
|
var HC = HeroController.getInstance();
|
||
|
|
HC.openBreakExhibitionWindow(false, this.skill);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
cc._RF.pop();
|