114 lines
3.5 KiB
JavaScript
114 lines
3.5 KiB
JavaScript
"use strict";
|
|
cc._RF.push(module, 'cb4ab2Pu8pDZIH7voDk9MyD', 'cmp.partner.props');
|
|
// Scripts/mod/partner/cmps/basic/cmp.partner.props.js
|
|
|
|
"use strict";
|
|
|
|
/******************************************************************
|
|
*
|
|
* 伙伴信息页 --- 基本属性
|
|
*
|
|
******************************************************************/
|
|
|
|
var BridgeComponent = require("bridge.component");
|
|
var HeroConst = require("hero_const");
|
|
var HeroEvent = require("hero_event");
|
|
var HeroControl = require("hero_controller");
|
|
cc.Class({
|
|
"extends": BridgeComponent,
|
|
properties: {
|
|
nodEquips: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
nodArtifacts: {
|
|
"default": null,
|
|
type: cc.Node
|
|
}
|
|
},
|
|
// 显示
|
|
onEnable: function onEnable() {
|
|
// 视图监听
|
|
this.vbind([["ShowPartner", this.onPartnerChanged.bind(this)]]);
|
|
|
|
// 事件监听
|
|
this.bindGEvent(HeroEvent.Hero_Data_Update, this.onPartnerUpdate.bind(this));
|
|
this.bindGEvent(HeroEvent.Equip_Update_Event, this.onPartnerUpdate.bind(this));
|
|
},
|
|
// 隐藏
|
|
onDisable: function onDisable() {
|
|
// 视图监听解除
|
|
this.vunbind();
|
|
|
|
// 事件监听解除
|
|
this.unbindGEvents();
|
|
},
|
|
// 置空
|
|
setEmpty: function setEmpty() {
|
|
nx.gui.setString(this, "lv/txt", "");
|
|
nx.gui.setActive(this, "career", false);
|
|
nx.gui.setActive(this, "help", false);
|
|
nx.gui.setString(this, "atk/txt", "0");
|
|
nx.gui.setString(this, "def/txt", "0");
|
|
nx.gui.setString(this, "hp/txt", "0");
|
|
nx.gui.setString(this, "speed/txt", "0");
|
|
},
|
|
// 有伙伴数据更新
|
|
onPartnerUpdate: function onPartnerUpdate(_vo) {
|
|
if (_vo && this.partner && _vo.partner_id == this.partner.partner_id) {
|
|
this.onPartnerChanged(_vo);
|
|
}
|
|
},
|
|
// 伙伴更新
|
|
onPartnerChanged: function onPartnerChanged(_partner) {
|
|
this.partner = _partner;
|
|
|
|
// 置空
|
|
if (nx.dt.objEmpty(this.partner)) {
|
|
this.setEmpty();
|
|
return;
|
|
}
|
|
var key = this.partner.bid + "_" + this.partner.star;
|
|
var scfg = gdata("partner_data", "data_partner_star", key);
|
|
if (nx.dt.objEmpty(scfg)) {
|
|
nx.error("升级刷新失败,当前配置无效!", key);
|
|
return false;
|
|
}
|
|
var k1 = this.partner.type + "_" + this.partner.break_id + "_" + this.partner.break_lev;
|
|
var cbc = game.configs.partner_data.data_partner_brach[k1];
|
|
if (nx.dt.objEmpty(cbc)) {
|
|
nx.error("升级刷新失败,当前配置无效!", k1);
|
|
return false;
|
|
}
|
|
|
|
// 等级
|
|
var maxlv = Math.max(cbc.lev_max, scfg.lev_max);
|
|
// let txt = `${this.partner.lev}/${maxlv}`;
|
|
nx.gui.setString(this, "lv/levs/lev", this.partner.lev);
|
|
nx.gui.setString(this, "lv/levs/max", maxlv);
|
|
|
|
// 职业
|
|
var career = this.partner.type || 4;
|
|
var icon = cc.path.join("coms/images", "career" + career);
|
|
var name = nx.text.getKey(HeroConst.CareerName[career]) || nx.text.getKey("lab_none");
|
|
nx.gui.setActive(this, "career", false);
|
|
nx.gui.setString(this, "career/txt", nx.text.getKey(name));
|
|
nx.gui.setSpriteFrame(this, "career/icon", icon);
|
|
nx.gui.setActive(this, "help", true);
|
|
|
|
// 属性
|
|
nx.gui.setString(this, "atk/txt", this.partner.atk);
|
|
nx.gui.setString(this, "def/txt", this.partner.def);
|
|
nx.gui.setString(this, "hp/txt", this.partner.hp);
|
|
nx.gui.setString(this, "speed/txt", this.partner.speed);
|
|
},
|
|
// 点击详情
|
|
onTouchDetail: function onTouchDetail() {
|
|
if (nx.dt.objNEmpty(this.partner)) {
|
|
var HC = HeroControl.getInstance();
|
|
HC.openHeroTipsAttrPanel(true, this.partner, true);
|
|
}
|
|
}
|
|
});
|
|
|
|
cc._RF.pop(); |