"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();