Files
fc/dev/project/library/imports/5e/5e463bf9-272f-4f75-a1e0-7a3446d31681.js
T

77 lines
2.3 KiB
JavaScript
Raw Normal View History

2026-05-24 10:21:26 +08:00
"use strict";
cc._RF.push(module, '5e463v5Jy9PdaHgejRG0xaB', 'bridge.partner');
// Scripts/zbridge/utils/bridge.partner.js
"use strict";
// ================================================================
//
// 桥接 伙伴快捷接口
//
// ================================================================
// 导出
module.exports = {
// 是不是有效伙伴
isPartner: function isPartner(_partner) {
return _partner && nx.dt.fnGood(_partner.updateHeroVo);
},
// 获取伙伴展示数据
getShowInfo: function getShowInfo(_partner) {
// 无效伙伴
if (!this.isPartner(_partner)) {
nx.warn("无效的伙伴,获取展示数据失败!");
return null;
}
return this.parseShowInfo(_partner.bid, _partner.star, _partner.use_skin);
},
// 获取伙伴展示数据
parseShowInfo: function parseShowInfo(_bid, _star, _skinId) {
// 伙伴配置
var key = _bid + "_" + _star;
var pdata = gdata("partner_data", "data_partner_star", key);
if (nx.dt.objEmpty(pdata)) {
nx.warn("无效的伙伴,获取伙伴配置失败!", key);
return null;
}
// 基础数据
var data = {
icon: pdata.head_id,
resid: pdata.res_id
};
// 皮肤转移
var sid = parseInt(_skinId);
if (nx.dt.numPositive(sid, false)) {
var 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
var 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;
}
};
cc._RF.pop();