Files

86 lines
2.1 KiB
JavaScript
Raw Permalink Normal View History

2026-05-23 22:10:14 +08:00
const BridgeComp = require("bridge.component");
const PartnerConst = require("partner_const");
const ElfinController = require("elfin_controller");
const ElfinEvent = require("elfin_event");
const FormType = PartnerConst.Fun_Form;
cc.Class({
extends: BridgeComp,
properties: {
BindFormType:{
default:FormType.Drama,
displayName : "绑定阵容",
}
},
// LIFE-CYCLE CALLBACKS:
editor: {
// 允许当前组件在编辑器模式下运行
executeInEditMode: false,
// 当本组件添加到节点上后,禁止同类型(含子类)的组件再添加到同一个节点,防止逻辑发生冲突
disallowMultiple: true,
},
onLoad(){
this._super();
//请求当前阵容精灵技能数据
this.bindGEvent(ElfinEvent.Elfin_Plan_From_Info_Event,this.updateElfinInfo.bind(this));
},
start () {
},
onEnable:function(){
//申请位面的精灵信息
ElfinController.getInstance().send26555(this.BindFormType);
},
onDisable:function(){
// 监听事件释放
this.unbindGEvents();
},
updateElfinInfo(data){
if(nx.dt.objEmpty(data)){
this.node.active = false;
return false;
}
let sprites = [];
if (data.team_list && data.team_list[0]) {
sprites = data.team_list[0].sprites;
}
for (var i=0;i<4;i++) {
let elfin_item = this.node.children[i];
if (elfin_item) {
var elfin_bid = this.getElfinBidByPos(sprites, i+1);
if(elfin_bid){
elfin_item.active = true;
//后续如果需要技能图片
}else{
elfin_item.active = false;
}
}
}
},
// 根据位置获取精灵的bid
getElfinBidByPos:function( sprite_data, pos ){
if (!sprite_data)return;
for (var k in sprite_data) {
var v = sprite_data[k]
if (v.pos == pos) {
return v.item_bid;
}
}
},
// update (dt) {},
});