104 lines
3.1 KiB
JavaScript
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(); |