Files
fc/dev/project/library/imports/ca/caf8a053-ee07-49b1-afd4-cac095779fe9.js
T
2026-05-24 10:21:26 +08:00

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();