126 lines
3.6 KiB
JavaScript
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(); |