"use strict"; cc._RF.push(module, 'e7d0aoSatFE9JonRtJ1J8de', 'cmp.kernel.uplevel'); // Scripts/mod/home/base_kernel/cmp.kernel.uplevel.js "use strict"; /****************************************************************** * * 核心升级 * ******************************************************************/ var BridgeWindow = require("bridge.window"); var BackpackController = require("backpack_controller"); var KernelController = require("halidom_controller"); cc.Class({ "extends": BridgeWindow, properties: { lstProps: { "default": null, type: cc.Node }, lstNeeds: { "default": null, type: cc.Node } }, onLoad: function onLoad() {}, // 重载:参数打开 onOpenConfigs: function onOpenConfigs(_params) { this.level = _params.level; this.camp = _params.camp; this.fresh(); }, // 刷新 fresh: function fresh() { var cfg = game.configs.halidom_data.data_lvup[this.camp][this.level]; var tfg = game.configs.halidom_data.data_lvup[this.camp][this.level + 1]; nx.gui.setString(this.lstProps, "lev/txt", "LEVEL " + this.level); nx.gui.setString(this.lstProps, "next_lev/txt", "LEVEL " + (this.level + 1)); var node = nx.gui.find(this.lstProps, "list").children; var props = cfg.attr; var nprops = tfg.attr; for (var i = 0; i < props.length; i++) { var attr = props[i]; var nattr = nprops[i]; nx.gui.setString(node[i], "from/from", attr[1]); nx.gui.setString(node[i], "to/from", nattr[1]); } // 消耗 this.needs = []; if (nx.dt.arrEmpty(cfg.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 = cfg.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(have) + "/" + nx.dt.shortCount(info[1]); 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() { var cfg = game.configs.halidom_data.data_lvup[this.camp][this.level]; var mat = cfg.loss[0][0]; var need = cfg.loss[0][1]; var canUp = BackpackController.getInstance().getModel().getItemNumByBid(mat) >= need; var KC = KernelController.getInstance(); if (KC) { if (canUp) { KC.sender22203(this.camp); } else { 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(); } }); cc._RF.pop();