"use strict"; cc._RF.push(module, 'b85ebUYGmNP55NIVDLskaWI', 'bridge.attributes'); // Scripts/zbridge/utils/bridge.attributes.js "use strict"; // ================================================================ // // 桥接 属性快捷接口 // // ================================================================ // 导出 module.exports = { // 是不是千分比 isPermillage: function isPermillage(_key) { var type = game.configs.attr_data.data_type[_key]; if (!nx.dt.numGood(type)) { nx.error("无效属性:", _key); return false; } return type == 2; }, // 设置属性UI组 // _node子节点: icon key val // _data: [key,val] setAttribute: function setAttribute(_node, _data, _add) { if (_add === void 0) { _add = true; } var key = _data[0]; if (nx.dt.strEmpty(key)) { nx.error("无效属性设置!"); return; } var id = game.configs.attr_data.data_key_to_id[key]; if (!nx.dt.numPositive(id, false)) { nx.error("无效属性:", key); return false; } // 图标 if (nx.gui.find(_node, "icon")) { var icon = _data[2] ? cc.path.join("coms/images", "ico_w" + key) : cc.path.join("coms/images", "ico_" + key); nx.gui.setSpriteFrame(_node, "icon", icon); } // 属性名 var name = game.configs.attr_data.data_id_to_name[id]; nx.gui.setString(_node, "key", nx.text.getKey(name)); // 数值 var val = _data[1] || 0; var mk = _add && val >= 0 ? "+" : ""; if (this.isPermillage(key)) { val = val / 10 + "%"; } nx.gui.setString(_node, "val", mk + val); }, // 规范属性数据 fmtAttribute: function fmtAttribute(_key, _val) { var id = game.configs.attr_data.data_key_to_id[_key]; if (!nx.dt.numPositive(id, false)) { nx.error("无效属性:", _key); return null; } // 数值 var val = _val || 0; var mk = val >= 0 ? "+" : ""; if (this.isPermillage(_key)) { val = val / 10 + "%"; } return { key: _key, val: mk + val, icon: "ico_" + _key, name: game.configs.attr_data.data_id_to_name[id] }; }, // 字符串化属性列表 strAttributes: function strAttributes(_attrs) { if (nx.dt.arrEmpty(_attrs)) { return ""; } var str = ""; var push = function push(_data, _last) { if (nx.dt.objEmpty(_data)) { return; } var txt = nx.text.format("SingleAttributeDesc", nx.text.getKey(_data.name), _data.val); if (!_last) { txt += "\t"; } str += txt; }; for (var i = 0; i < _attrs.length; ++i) { var attr = _attrs[i]; var info = this.fmtAttribute(attr[0], attr[1]); push(info, i == _attrs.length - 1); } return str; } }; cc._RF.pop();