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