223 lines
6.8 KiB
JavaScript
223 lines
6.8 KiB
JavaScript
"use strict";
|
|
cc._RF.push(module, '48714hRMeNPxLb+dw8JWtRK', 'cmp.partner.upgrade.wnd');
|
|
// Scripts/mod/partner/cmps/basic/cmp.partner.upgrade.wnd.js
|
|
|
|
"use strict";
|
|
|
|
/******************************************************************
|
|
*
|
|
* 伙伴进阶界面
|
|
*
|
|
******************************************************************/
|
|
|
|
var BridgeWindow = require("bridge.window");
|
|
var HeroEvent = require("hero_event");
|
|
var HeroController = require("hero_controller");
|
|
var BackpackController = require("backpack_controller");
|
|
var RoleController = require("role_controller");
|
|
var FID = require("bridge.function.ids");
|
|
var TipsController = require("tips_controller");
|
|
cc.Class({
|
|
"extends": BridgeWindow,
|
|
properties: {
|
|
lstProps: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
nodSkill: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
lstNeeds: {
|
|
"default": null,
|
|
type: cc.Node
|
|
}
|
|
},
|
|
onLoad: function onLoad() {
|
|
// 事件监听
|
|
this.bindGEvent(HeroEvent.Next_Break_Info_Event, this.onRecvGradeMsg.bind(this));
|
|
},
|
|
// 重载:参数打开
|
|
onOpenConfigs: function onOpenConfigs(_params) {
|
|
var _this = this;
|
|
this.partner = _params;
|
|
|
|
// 无效
|
|
if (nx.dt.objEmpty(this.partner)) {
|
|
this.scheduleOnce(function () {
|
|
_this.close();
|
|
}, 0.03);
|
|
return;
|
|
}
|
|
|
|
// 请求
|
|
HeroController.getInstance().sender11016(this.partner.partner_id);
|
|
},
|
|
// 进阶消息
|
|
onRecvGradeMsg: function onRecvGradeMsg(_data) {
|
|
this.fresh(_data);
|
|
},
|
|
// 刷新
|
|
fresh: function fresh(_data) {
|
|
var _this2 = this;
|
|
// 进阶配置
|
|
var k1 = this.partner.type + "_" + this.partner.break_id + "_" + this.partner.break_lev;
|
|
var k2 = this.partner.type + "_" + this.partner.break_id + "_" + (this.partner.break_lev + 1);
|
|
var cbc = game.configs.partner_data.data_partner_brach[k1];
|
|
var nbc = game.configs.partner_data.data_partner_brach[k2];
|
|
if (nx.dt.objEmpty(cbc) || nx.dt.objEmpty(nbc)) {
|
|
this.scheduleOnce(function () {
|
|
_this2.close();
|
|
}, 0.03);
|
|
return;
|
|
}
|
|
|
|
// 属性
|
|
// 首位为等级
|
|
var chds = this.lstProps.children;
|
|
var first = chds[0];
|
|
if (first) {
|
|
nx.gui.setSpriteFrame(first, "icon", null);
|
|
nx.gui.setString(first, "name", nx.text.getKey("Level"));
|
|
nx.gui.setString(first, "from", cbc.lev_max);
|
|
nx.gui.setString(first, "to", nbc.lev_max);
|
|
}
|
|
|
|
// 其他属性
|
|
for (var i = 1; i < chds.length; ++i) {
|
|
var node = chds[i];
|
|
var att = nbc.all_attr[i - 1];
|
|
if (!att) {
|
|
node.active = false;
|
|
continue;
|
|
}
|
|
node.active = true;
|
|
var id = att[0];
|
|
var icon = cc.path.join("coms/images", "ico_" + id);
|
|
nx.gui.setSpriteFrame(node, "icon", icon);
|
|
var name = game.configs.attr_data.data_key_to_name[id];
|
|
nx.gui.setString(node, "name", nx.text.getKey(name));
|
|
if (id == "hp_max") {
|
|
id = "hp";
|
|
}
|
|
nx.gui.setString(node, "from", this.partner[id]);
|
|
nx.gui.setString(node, "to", _data[id] || 0);
|
|
}
|
|
|
|
// 新技能
|
|
var locked = true;
|
|
this.skill = null;
|
|
if (nbc.skill_num > cbc.skill_num) {
|
|
var key = this.partner.bid + "_" + this.partner.star;
|
|
var scfg = gdata("partner_data", "data_partner_star", key);
|
|
if (scfg) {
|
|
var sid = null;
|
|
for (var _i in scfg.skills) {
|
|
if (scfg.skills[_i][0] == nbc.skill_num) {
|
|
sid = scfg.skills[_i][1];
|
|
}
|
|
}
|
|
if (sid) {
|
|
var cfgs = gskilldata('data_get_skill', sid);
|
|
if (cfgs) {
|
|
nx.gui.setString(this.nodSkill, "title/name", nx.text.getKey("UnlockSkill"));
|
|
nx.gui.setActive(this.nodSkill, "icon", true);
|
|
var _icon = nx.gui.getComponent(this.nodSkill, "icon", "cmp.skill.base");
|
|
if (_icon) {
|
|
_icon.setData(cfgs);
|
|
}
|
|
this.skill = cfgs;
|
|
locked = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// 无新技能解锁
|
|
if (locked) {
|
|
nx.gui.setString(this.nodSkill, "title/name", nx.text.getKey("NoNewSkill"));
|
|
nx.gui.setActive(this.nodSkill, "icon", false);
|
|
nx.gui.setString(this.nodSkill, "name", "");
|
|
}
|
|
|
|
// 消耗
|
|
this.needs = [];
|
|
if (nx.dt.arrEmpty(cbc.expend)) {
|
|
// 无消耗
|
|
nx.gui.hideAllChildren(this.lstNeeds);
|
|
} else {
|
|
var model = BackpackController.getInstance().getModel();
|
|
var _chds = this.lstNeeds.children;
|
|
for (var _i2 = 0; _i2 < _chds.length; ++_i2) {
|
|
var _node = _chds[_i2];
|
|
var info = cbc.expend[_i2];
|
|
if (!info) {
|
|
_node.active = false;
|
|
continue;
|
|
}
|
|
_node.active = true;
|
|
var cfg = Utils.getItemConfig(info[0]);
|
|
nx.bridge.setIcon(_node, "icon", cfg.icon);
|
|
var have = model.getItemNumByBid(info[0]);
|
|
var str = cc.js.formatStr("%s/%s", nx.dt.shortCount(have), Utils.getMoneyString(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() {
|
|
if (nx.dt.objEmpty(this.partner)) {
|
|
return;
|
|
}
|
|
var self = this;
|
|
var lev = RoleController.getInstance().getRoleVo().lev;
|
|
var TC = TipsController.getInstance();
|
|
var cfg = game.configs.source_data.data_source_data;
|
|
// 缺材料
|
|
if (nx.dt.arrNEmpty(this.needs)) {
|
|
var expend_item_cfg = gdata("item_data", "data_unit1", this.needs[0], false);
|
|
// nx.tbox( cc.js.formatStr( nx.text.getKey( "lab_hero_break_window_tip1" ), expend_item_cfg.name ) );//Utils.TI18N("物品[" + expend_item_cfg.name + "]不足"));
|
|
// BackpackController.getInstance().openTipsSource( true, this.needs[ 0 ] );
|
|
if (nx.bridge.acts) {
|
|
var data = nx.bridge.acts.queryThemeByType(13);
|
|
if (expend_item_cfg.id != 1) {
|
|
if (data && lev >= cfg[data.source].lev_limit[1]) {
|
|
nx.mbox(nx.text.format("BuyReward", expend_item_cfg.name), ['cancel', 'Buy'], function (_key, _box) {
|
|
_box.close();
|
|
if (_key == "Buy") {
|
|
nx.bridge.jumper.jump2Window(FID.ActMySteryGift, expend_item_cfg.id);
|
|
}
|
|
});
|
|
} else {
|
|
if (TC) {
|
|
TC.showItemTips(expend_item_cfg.id);
|
|
}
|
|
}
|
|
} else {
|
|
if (TC) {
|
|
TC.showItemTips(expend_item_cfg.id);
|
|
}
|
|
}
|
|
} else {
|
|
if (TC) {
|
|
TC.showItemTips(expend_item_cfg.id);
|
|
}
|
|
}
|
|
this.close();
|
|
return;
|
|
}
|
|
|
|
// 进阶
|
|
HeroController.getInstance().sender11004(this.partner.id);
|
|
this.close();
|
|
}
|
|
});
|
|
|
|
cc._RF.pop(); |