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