Files
fc/dev/project/library/imports/e7/e7d0aa12-6ad1-44f4-9a27-46d27527c75e.js
2026-05-24 10:21:26 +08:00

104 lines
3.1 KiB
JavaScript

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