"use strict"; cc._RF.push(module, '28ed0OQpIREHpeXcBxTMmNc', 'cmp.item.detail.prop.skill'); // Scripts/mod/backpack/cmps/cmp.item.detail.prop.skill.js "use strict"; var BackPackConst = require("backpack_const"); var PathTool = require("pathtool"); cc.Class({ "extends": cc.Component, properties: { nodList: { "default": null, type: cc.Node, displayName: "列表容器" } }, // 载入 onLoad: function onLoad() {}, // 置空 setEmpty: function setEmpty() { nx.gui.hideAllChildren(this.nodList, ""); }, // 设置道具 // @ 返回true:需要显示 setData: function setData(_item, _config, _fromBag) { // 全隐藏 if (!_item || !_config) { this.setEmpty(); return false; } // 获取配置 this.item = _item; this.config = _config; //判断是否需要展示套装属性 var skills = []; if (this.config.sub_type == BackPackConst.item_sub_type.HOLYEQUIPMENT) { //神裝 if (this.config.eqm_set != 0) { this.suit_config = gdata("partner_holy_eqm_data", "data_suit_info", this.config.eqm_set); skills = this.setSuitSkill(); } else { return false; } } else if (this.config.sub_type == BackPackConst.item_sub_type.SPECIAL) { //特殊 if (this.item.extra) { skills = this.setArtSkill(); } else { return false; } } else if (this.config.sub_type == BackPackConst.item_sub_type.ELFIN) { //精灵 skills = this.setElfinSkill(); } else { return false; } // 统计主属性信息 var props = skills; // 空属性 if (nx.dt.arrEmpty(props)) { this.setEmpty(); return false; } // 属性设置 var setProp = function setProp(_node, _prop) { if (!_node || nx.dt.objEmpty(_prop)) { return; } nx.bridge.setIcon(_node, "ico", _prop.icon); nx.gui.setString(_node, "txt_lay/name", _prop.name); nx.gui.setString(_node, "txt_lay/txt/view/content/desc", _prop.des); }; // 列表创建 var chds = this.nodList.children; nx.gui.gocChildren(this.nodList, "", props.length, chds[0]); for (var i = 0; i < props.length; ++i) { setProp(chds[i], props[i]); } return true; }, setElfinSkill: function setElfinSkill() { var list = []; var id = this.item.base_id || this.item.item_id || this.item.id; // console.log( JSON.stringify( this.config ) + "当前的技能信息 " + JSON.stringify( this.item ) ); var cur_elfin_cfg = gdata("sprite_data", "data_elfin_data", id); if (nx.dt.objEmpty(cur_elfin_cfg)) { return false; } var config = gskilldata('data_get_skill', cur_elfin_cfg.skill); list.push(config); return list; }, //设置符文技能 setArtSkill: function setArtSkill() { var list = []; for (var i in this.item.extra) { var value = this.item.extra[i]; if (value && value.extra_k && (value.extra_k == 1 || value.extra_k == 2 || value.extra_k == 8)) { var config = gskilldata("data_get_skill", [value.extra_v]); if (config) { list.push(config); } } } return list; }, // 设置神装技能 setSuitSkill: function setSuitSkill() { if (this.config == null) { return -1; } if (this.suit_config == null) { return -1; } // 按照套装排个序 this.suit_config.sort(function (a, b) { return a.num - b.num; }); var name = null; var suit_list = []; var show_skill_id = null; for (var index = 0; index < this.suit_config.length; index++) { var element = this.suit_config[index]; if (name == null) { name = element.name; } if (element.attr || element.skill_id) { if (this.config.sub_type == BackPackConst.item_sub_type.HOLYEQUIPMENT) { //神裝 var _suit = {}; var eqm_set = null; _suit.count = element.num; _suit.attr = element.skill_id[element.skill_id.length - 1]; eqm_set = element.id; if (element.all_skill_desc) { _suit.skill_desc = element.all_skill_desc[element.all_skill_desc.length - 1]; //神裝套裝描述 } var star = eqm_set % 100; _suit.suit_name = cc.js.formatStr("%s★ Set(%s)", star, _suit.count); suit_list.push(_suit); } } } var suit = suit_list[suit_list.length - 1]; // 设置属性 var skill_list = []; for (var _index = 0; _index < suit_list.length; _index++) { var _element = suit_list[_index]; if (typeof _element.attr == "number") { if (suit.skill_desc[0] && suit.skill_desc[0] == 2) { show_skill_id = suit.attr; var skill_cfg = gskilldata('data_get_skill', show_skill_id); skill_list.push(skill_cfg); } } } return skill_list; } }); cc._RF.pop();