86 lines
2.1 KiB
JavaScript
86 lines
2.1 KiB
JavaScript
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) {},
|
|
});
|