Files
fc/dev/project/library/imports/97/97c385a2-ac43-4d46-8d4f-af5897cc4cae.js
T

217 lines
6.8 KiB
JavaScript
Raw Normal View History

2026-05-24 10:21:26 +08:00
"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();