Files
fc/dev/project/library/imports/51/51d7e8b4-f9fc-469c-9a7f-9b18c3ccb388.js
T
2026-05-24 10:21:26 +08:00

126 lines
3.6 KiB
JavaScript

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