// ================================================================ // // 桥接 伙伴快捷接口 // // ================================================================ // 导出 module.exports = { // 是不是有效伙伴 isPartner: function( _partner ) { return _partner && nx.dt.fnGood( _partner.updateHeroVo ); }, // 获取伙伴展示数据 getShowInfo: function( _partner ) { // 无效伙伴 if( !this.isPartner( _partner ) ) { nx.warn( "无效的伙伴,获取展示数据失败!" ); return null; } return this.parseShowInfo( _partner.bid, _partner.star, _partner.use_skin ); }, // 获取伙伴展示数据 parseShowInfo: function( _bid, _star, _skinId ) { // 伙伴配置 let key = _bid + "_" + _star; let pdata = gdata( "partner_data", "data_partner_star", key ); if( nx.dt.objEmpty( pdata ) ) { nx.warn( "无效的伙伴,获取伙伴配置失败!", key ); return null; } // 基础数据 let data = { icon: pdata.head_id, resid: pdata.res_id, }; // 皮肤转移 let sid = parseInt( _skinId ); if( nx.dt.numPositive( sid, false ) ) { let SKIN = game.configs.partner_skin_data.data_skin_info[ sid ]; if( nx.dt.objEmpty( SKIN ) ) { nx.error( "无效的伙伴,获取皮肤配置失败!", sid ); } else { data.icon = SKIN.head_id; data.resid = SKIN.res_id; } } // 数据补全 data.sp_show = PathTool.getSpinePath( data.resid, "show", false ); data.sp_model = PathTool.getSpinePath( data.resid, data.resid, false ); data.img_half_big = cc.path.join( "resDB/models", data.resid, "half_show" ); data.img_half_nor = cc.path.join( "resDB/models", data.resid, "half_show2" ); data.img_half_small = cc.path.join( "resDB/models", data.resid, "half_show3" ); // 语音 SR&&SSR let cfg = game.configs.partner_data.data_partner_base[ _bid ]; if( nx.dt.objNEmpty( cfg ) && nx.dt.strNEmpty( cfg.voice ) ) { data.voice = cc.path.join( "resDB/models", data.resid, "voice" ); } if( nx.dt.objNEmpty( cfg ) ){ data.phonetic_text = cfg.phonetic_text; } // 返回 return data; }, }