217 lines
6.8 KiB
JavaScript
217 lines
6.8 KiB
JavaScript
|
|
"use strict";
|
||
|
|
cc._RF.push(module, '97c38WirENNRo1Pr1iXzEyu', 'cmp.item.detail.prop.suit');
|
||
|
|
// Scripts/mod/backpack/cmps/cmp.item.detail.prop.suit.js
|
||
|
|
|
||
|
|
"use strict";
|
||
|
|
|
||
|
|
var PathTool = require("pathtool");
|
||
|
|
var BackPackConst = require("backpack_const");
|
||
|
|
var GoodsVo = require("goods_vo");
|
||
|
|
cc.Class({
|
||
|
|
"extends": cc.Component,
|
||
|
|
properties: {
|
||
|
|
nodList: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node,
|
||
|
|
displayName: "列表容器"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
// 载入
|
||
|
|
onLoad: function onLoad() {
|
||
|
|
if (this.tween) {
|
||
|
|
this.tween.stop();
|
||
|
|
}
|
||
|
|
},
|
||
|
|
// 置空
|
||
|
|
setEmpty: function setEmpty() {
|
||
|
|
this.suit_config = null;
|
||
|
|
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;
|
||
|
|
|
||
|
|
//判断是否需要展示套装属性
|
||
|
|
|
||
|
|
if (_config.eqm_set && this.config.eqm_set != 0) {
|
||
|
|
if (this.config.sub_type == BackPackConst.item_sub_type.HOLYEQUIPMENT) {
|
||
|
|
//神裝
|
||
|
|
this.suit_config = gdata("partner_holy_eqm_data", "data_suit_info", this.config.eqm_set);
|
||
|
|
} else if (this.config.sub_type == BackPackConst.item_sub_type.EQUIPS) {
|
||
|
|
this.suit_config = gdata("partner_eqm_data", "data_eqm_suit", this.config.eqm_set);
|
||
|
|
} else {
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
if (this.suit_config) {
|
||
|
|
// need_show_suitattr = true
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (this.config.eqm_set == 0) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
var data = this.setSuitAttrInfo();
|
||
|
|
// let need_show_skill = data.show_skill_id;
|
||
|
|
// if (need_show_skill != null) {
|
||
|
|
// let config = gskilldata('data_get_skill', need_show_skill)
|
||
|
|
// if (config) {
|
||
|
|
// target_height = target_height + this.skill_panel_height
|
||
|
|
// if (this.skill_item == null) {
|
||
|
|
// this.skill_item = this.createSkillItem(this.skill_panel)
|
||
|
|
// }
|
||
|
|
// this.skill_item.skill.showLockIcon(false)
|
||
|
|
// this.skill_item.skill.setData(config)
|
||
|
|
// this.skill_item.desc.string = (config.des)
|
||
|
|
// } else {
|
||
|
|
// need_show_skill = false
|
||
|
|
// }
|
||
|
|
// }
|
||
|
|
|
||
|
|
// 统计主属性信息
|
||
|
|
var props = data;
|
||
|
|
|
||
|
|
// 空属性
|
||
|
|
if (nx.dt.arrEmpty(props)) {
|
||
|
|
this.setEmpty();
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
|
||
|
|
// 属性设置
|
||
|
|
var setProp = function setProp(_node, _prop) {
|
||
|
|
if (!_node || nx.dt.objEmpty(_prop)) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
var res_path = null;
|
||
|
|
var name = "";
|
||
|
|
if (_prop.skill_desc) {
|
||
|
|
if (_prop.skill_desc.length == 1) {
|
||
|
|
res_path = PathTool.getAttrIconRes(_prop.attr[0]);
|
||
|
|
name = gdata("attr_data", "data_key_to_name", _prop.attr[0]);
|
||
|
|
nx.gui.setActive(_node, "info/dot", true);
|
||
|
|
} else {
|
||
|
|
res_path = PathTool.getAttrIconRes("skill");
|
||
|
|
name = _prop.skill_desc[1] || nx.text.getKey("描述信息無");
|
||
|
|
nx.gui.setActive(_node, "info/dot", false);
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
if (_prop.attr.length > 1) {
|
||
|
|
res_path = PathTool.getAttrIconRes(_prop.attr[0]);
|
||
|
|
name = gdata("attr_data", "data_key_to_name", _prop.attr[0]);
|
||
|
|
nx.gui.setActive(_node, "info/dot", true);
|
||
|
|
} else {
|
||
|
|
res_path = PathTool.getAttrIconRes("skill");
|
||
|
|
name = _prop.skill_desc[1] || nx.text.getKey("描述信息無");
|
||
|
|
nx.gui.setActive(_node, "info/dot", false);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
nx.gui.setSpriteFrame(_node, "info/icon", res_path);
|
||
|
|
// nx.gui.setString( _node, "info/key", nx.dt.strCut( nx.text.getKey( name ), 8 ) );
|
||
|
|
if (nx.dt.strNEmpty(name)) {
|
||
|
|
nx.gui.setStringRich(_node, "info/key", nx.text.getKey(name));
|
||
|
|
}
|
||
|
|
|
||
|
|
// nx.gui.setActive( _node, "info/key/show", false );
|
||
|
|
var val = BackPackConst.getAttrValue(_prop.attr[0], _prop.attr[1]);
|
||
|
|
if (!val) {
|
||
|
|
val = "";
|
||
|
|
}
|
||
|
|
nx.gui.setString(_node, "info/val", val);
|
||
|
|
nx.gui.setString(_node, "suitname", nx.text.getKey(_prop.suit_name));
|
||
|
|
};
|
||
|
|
|
||
|
|
// 列表创建
|
||
|
|
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;
|
||
|
|
},
|
||
|
|
// 设置套装
|
||
|
|
setSuitAttrInfo: function setSuitAttrInfo() {
|
||
|
|
if (this.config == null) {
|
||
|
|
return -1;
|
||
|
|
}
|
||
|
|
if (this.suit_config == null) {
|
||
|
|
return -1;
|
||
|
|
}
|
||
|
|
// var act_count = this.getEquipActiveCount()
|
||
|
|
// 按照套装排个序
|
||
|
|
this.suit_config.sort(function (a, b) {
|
||
|
|
return a.num - b.num;
|
||
|
|
});
|
||
|
|
console.log("当前的套装相关" + JSON.stringify(this.suit_config));
|
||
|
|
var name = null;
|
||
|
|
var suit_list = [];
|
||
|
|
for (var index = 0; index < this.suit_config.length; index++) {
|
||
|
|
var element = this.suit_config[index];
|
||
|
|
if (element) {
|
||
|
|
if (name == null) {
|
||
|
|
name = element.name;
|
||
|
|
}
|
||
|
|
if (element.attr || element.skill_id) {
|
||
|
|
var i = index;
|
||
|
|
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]; //神裝套裝描述
|
||
|
|
}
|
||
|
|
|
||
|
|
suit.suit_name = cc.js.formatStr("%s(%s)", element.name, suit.count);
|
||
|
|
suit_list.push(suit);
|
||
|
|
}
|
||
|
|
if (element.attr) {
|
||
|
|
if (this.config.sub_type == BackPackConst.item_sub_type.EQUIPS) {
|
||
|
|
var _suit = {};
|
||
|
|
var _eqm_set = null;
|
||
|
|
_suit.count = element.num;
|
||
|
|
_suit.attr = element.attr[element.attr.length - 1];
|
||
|
|
_eqm_set = element.id;
|
||
|
|
_suit.suit_name = cc.js.formatStr("%s(%s)", element.name, _suit.count);
|
||
|
|
suit_list.push(_suit);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// var suit = suit_list[suit_list.length - 1];
|
||
|
|
// // 设置属性
|
||
|
|
// for (let index = 0; index < suit_list.length; index++) {
|
||
|
|
// const element = suit_list[index];
|
||
|
|
// if (typeof (element.attr) == "number") {
|
||
|
|
// if (suit.skill_desc[0] && suit.skill_desc[0] == 2) {
|
||
|
|
// show_skill_id = suit.attr
|
||
|
|
// }
|
||
|
|
// }
|
||
|
|
// }
|
||
|
|
return suit_list;
|
||
|
|
},
|
||
|
|
onTouchPropName: function onTouchPropName(_node) {
|
||
|
|
var nod = nx.gui.find(_node, "show");
|
||
|
|
nx.gui.setActive(nod, "", true);
|
||
|
|
nx.tween.fadeIn(nod, 0.3);
|
||
|
|
this.tween = cc.tween(nod).to(0.01, nod.parent.scaleX < 1 ? {
|
||
|
|
scale: 1.4
|
||
|
|
} : {
|
||
|
|
scale: 1
|
||
|
|
}).delay(2).call(function () {
|
||
|
|
nx.tween.fadeOut(nod, 0.3);
|
||
|
|
}).start();
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
cc._RF.pop();
|