"use strict"; cc._RF.push(module, '51d7ei0+fxGnJp/mxjDzLOI', 'cmp.guild.talent.skill.uplev'); // Scripts/mod/guild/talent/base/cmp.guild.talent.skill.uplev.js "use strict"; /****************************************************************** * * 聯盟天賦pvp技能升级 * ******************************************************************/ var BridgeWindow = require("bridge.window"); var BackpackController = require("backpack_controller"); var SkillBase = require("cmp.skill.base"); var GuildskillController = require("guildskill_controller"); cc.Class({ "extends": BridgeWindow, properties: { skillNow: { "default": null, type: SkillBase }, skillNext: { "default": null, type: SkillBase }, lstNeeds: { "default": null, type: cc.Node } }, onLoad: function onLoad() {}, // 重载:参数打开 onOpenConfigs: function onOpenConfigs(_params) { /***** * {"career":2, * "lev":{"career":2, * "attr_formation":[{"id":20001,"lev":7}, * {"id":20002,"lev":1}, * {"id":20003,"lev":5}, * {"id":20004,"lev":4}], * "skill_id":0,"skill_lev":0}} */ this.career = _params.career; this.info = _params.lev; this.skill = _params.lev.skill_id; this.fresh(); }, // 刷新 fresh: function fresh() { var key = this.career + "_" + (parseInt(this.info.skill_lev) + 1); var cfg = gdata("guild_skill_data", "data_pvp_skill_info", key); this.needs = []; if (cfg) { this.skillNext.setData(cfg.skill_id); this.skillNow.setData(this.skill); nx.gui.setActive(this.skillNow, "lock", this.info.skill_lev == 0); } var key2 = this.career + "_" + this.info.skill_lev; var mfg = gdata("guild_skill_data", "data_pvp_skill_info", key2); if (nx.dt.arrEmpty(mfg.loss)) { // 无消耗 nx.gui.hideAllChildren(this.lstNeeds); } else { var model = BackpackController.getInstance().getModel(); var chds = this.lstNeeds.children; for (var i = 0; i < chds.length; ++i) { var node = chds[i]; var info = mfg.loss[i]; if (!info) { node.active = false; continue; } node.active = true; var icfg = Utils.getItemConfig(info[0]); nx.bridge.setIcon(node, "icon", icfg.icon); var have = model.getItemNumByBid(info[0]); var str = nx.dt.shortCount(info[1]) + "/" + nx.dt.shortCount(have); nx.gui.setString(node, "txt", str); var clr = have >= info[1] ? cc.Color.WHITE : cc.Color.RED; nx.gui.setColor(node, "txt", clr); // 缺少记录 if (have < info[1]) { this.needs.push(info[0]); } } } }, // 点击确认 onTouchConfirm: function onTouchConfirm() { if (!nx.dt.arrEmpty(this.needs)) { var mat = this.needs[0]; var ifg = gdata("item_data", "data_unit1", mat); if (ifg) { nx.tbox(nx.text.format(nx.text.getKey("lab_hero_break_window_tip1"), ifg.name)); } BackpackController.getInstance().openTipsSource(true, mat); this.close(); return; } var key2 = this.career + "_" + this.info.skill_lev; var mfg = gdata("guild_skill_data", "data_pvp_skill_info", key2); var need_lev = mfg.need_lev; var all = this.info.attr_formation; var count = 0; all.forEach(function (item) { if (item.lev >= need_lev) { count++; } }); if (count != all.length) { // nx.tbox(nx.text.format("GuildSkillUpLevNeeds", need_lev)); return; } var GS = GuildskillController.getInstance(); if (GS) { GS.send23708(this.career); } this.close(); } }); cc._RF.pop();