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