"use strict";
cc._RF.push(module, 'fb18cEp1A1EEL9mbkrC8yHD', 'battle_camp_Item');
// Scripts/mod/battle/view/battle_camp_Item.js
"use strict";
var PathTool = require("pathtool");
var PartnerCalculate = require("partner_calculate");
var ExhibitionItem = cc.Class({
"extends": BasePanel,
ctor: function ctor() {
this.prefabPath = PathTool.getPrefabPath("battle", "battle_camp_item");
},
// 可以初始化声明一些变量的
initConfig: function initConfig() {
var self = this;
self.camp_icons = [];
self.attr_label = {};
},
// 初始化一些配置数据,可以用于声明一些变量之类的
initPanel: function initPanel() {
var self = this;
var container = self.root_wnd.getChildByName("main_container");
self.cur_bg = container.getChildByName("cur_bg");
self.cur_bg.active = false;
self.form_icon = container.getChildByName("form_icon");
this.btn = self.form_icon.getComponent(cc.Button);
this.name_lb = container.getChildByName("name").getComponent(cc.Label);
self.sp_activate = container.getChildByName("sp_activate");
self.sp_activate.active = false;
self.attr_label = container.getChildByName("attr_label").getComponent(cc.RichText);
this.line = container.getChildByName("line");
if (this.data) {
this.setData(this.data);
}
},
// 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
registerEvent: function registerEvent() {},
// 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了
onShow: function onShow(params) {},
// 面板设置不可见的回调,这里做一些不可见的屏蔽处理
onHide: function onHide() {},
setData: function setData(data) {
this.data = data;
cc.log(data);
if (data && this.root_wnd) {
var self = this;
if (data.is_activate == true) {
self.cur_bg.active = true;
this.btn.interactable = true;
this.btn.enableAutoGrayEffect = false;
this.sp_activate.active = true;
} else {
self.cur_bg.active = false;
this.btn.interactable = false;
this.btn.enableAutoGrayEffect = true;
this.sp_activate.active = false;
}
var form_res = PathTool.getUIIconPath("campicon", "campicon_" + data.icon);
this.loadRes(form_res, function (res) {
self.form_icon.getComponent(cc.Sprite).spriteFrame = res;
}.bind(this));
this.name_lb.string = data.name;
this.line.active = data.index != Config.combat_halo_data.data_halo_show_length - 1; // -- 属性
var desc_str = "";
var index_flag = 0;
for (var i in data.attr_data) {
var v = data.attr_data[i];
if (v.is_activate) {
index_flag = i;
}
}
var len = Utils.getArrLen(data.attr_data);
var index = 0;
for (var _i in data.attr_data) {
var _v = data.attr_data[_i];
var str = _v.desc;
for (var j = 0; j < _v.attrs.length; ++j) {
var attr = _v.attrs[j];
var attr_key = attr[0];
var attr_val = attr[1] / 1000;
var attr_name = Config.attr_data.data_key_to_name[attr_key];
if (attr_name) {
var is_per = PartnerCalculate.isShowPerByStr(attr_key);
if (is_per == true) {
attr_val = attr_val * 1000 * 100 / 1000 + "%";
}
if (_i == index_flag) {
str = str + cc.js.formatStr(" %s+%s", attr_name, attr_val);
} else {
str = str + cc.js.formatStr(" %s+%s", attr_name, attr_val);
}
}
}
if (_i == index_flag) {
str = cc.js.formatStr("%s", str);
} else {
str = cc.js.formatStr("%s", str);
}
index++;
if (len != index) {
desc_str = desc_str + str + "\n";
} else {
desc_str = desc_str + str;
}
}
this.attr_label.string = desc_str;
}
},
// 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用
onDelete: function onDelete() {}
});
cc._RF.pop();