106 lines
2.7 KiB
JavaScript
106 lines
2.7 KiB
JavaScript
"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(); |