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) {}, });