79 lines
2.1 KiB
JavaScript
79 lines
2.1 KiB
JavaScript
"use strict";
|
|
cc._RF.push(module, 'caf8aBT7gdJsa/UysCVd5/p', 'nx.fx.elfininfo');
|
|
// Scripts/nx/cmp/flex/nx.fx.elfininfo.js
|
|
|
|
"use strict";
|
|
|
|
var BridgeComp = require("bridge.component");
|
|
var PartnerConst = require("partner_const");
|
|
var ElfinController = require("elfin_controller");
|
|
var ElfinEvent = require("elfin_event");
|
|
var FormType = PartnerConst.Fun_Form;
|
|
cc.Class({
|
|
"extends": BridgeComp,
|
|
properties: {
|
|
BindFormType: {
|
|
"default": FormType.Drama,
|
|
displayName: "绑定阵容"
|
|
}
|
|
},
|
|
// LIFE-CYCLE CALLBACKS:
|
|
|
|
editor: {
|
|
// 允许当前组件在编辑器模式下运行
|
|
executeInEditMode: false,
|
|
// 当本组件添加到节点上后,禁止同类型(含子类)的组件再添加到同一个节点,防止逻辑发生冲突
|
|
disallowMultiple: true
|
|
},
|
|
onLoad: function onLoad() {
|
|
this._super();
|
|
|
|
//请求当前阵容精灵技能数据
|
|
this.bindGEvent(ElfinEvent.Elfin_Plan_From_Info_Event, this.updateElfinInfo.bind(this));
|
|
},
|
|
start: function start() {},
|
|
onEnable: function onEnable() {
|
|
//申请位面的精灵信息
|
|
ElfinController.getInstance().send26555(this.BindFormType);
|
|
},
|
|
onDisable: function onDisable() {
|
|
// 监听事件释放
|
|
this.unbindGEvents();
|
|
},
|
|
updateElfinInfo: function updateElfinInfo(data) {
|
|
if (nx.dt.objEmpty(data)) {
|
|
this.node.active = false;
|
|
return false;
|
|
}
|
|
var sprites = [];
|
|
if (data.team_list && data.team_list[0]) {
|
|
sprites = data.team_list[0].sprites;
|
|
}
|
|
for (var i = 0; i < 4; i++) {
|
|
var 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 getElfinBidByPos(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) {},
|
|
});
|
|
|
|
cc._RF.pop(); |