Files

112 lines
2.8 KiB
JavaScript
Raw Permalink Normal View History

2026-05-24 10:21:26 +08:00
"use strict";
cc._RF.push(module, '70770Odu+5JjbVaeLYAL1KD', 'cmp.partner.props.detail.wnd');
// Scripts/mod/partner/cmps/basic/cmp.partner.props.detail.wnd.js
"use strict";
/******************************************************************
*
* 伙伴属性详情界面
*
******************************************************************/
var BridgeWindow = require("bridge.window");
var HeroControl = require("hero_controller");
var ATTR_BASE = ['atk', 'hp', 'def', 'speed'];
var ATTR_EXTRA = ['crit_rate', 'crit_ratio', 'hit_magic', 'dodge_magic', 'tenacity', 'hit_rate', 'res', 'dodge_rate', 'cure', 'be_cure', 'dam'];
cc.Class({
"extends": BridgeWindow,
properties: {
lstBase: {
"default": null,
type: cc.Node
},
lstSpecail: {
"default": null,
type: cc.Node
},
lstOther: {
"default": null,
type: cc.Node
}
},
// 重载:参数打开
onOpenConfigs: function onOpenConfigs(_params) {
var _this = this;
this.isMe = _params.is_my;
this.partner = _params.hero_vo;
// 无效
if (nx.dt.objEmpty(this.partner)) {
this.scheduleOnce(function () {
_this.close();
}, 0.03);
return;
}
// 基础刷新
this.freshBase();
// 加成刷新
if (this.isMe) {
HeroControl.getInstance().sender11063(this.partner.partner_id, function (_ret, _data) {
if (_ret) {
_this.freshAdd(_data);
}
});
}
},
// 基础刷新
freshBase: function freshBase() {
// 基础属性
var CHD = this.lstBase.children;
for (var i = 0; i < ATTR_BASE.length; ++i) {
var node = CHD[i];
var key = ATTR_BASE[i];
node.name = key;
nx.bridge.attrs.setAttribute(node, [key, this.partner[key], i + 1], false);
nx.gui.setActive(node, "add", false);
}
// 特殊属性
var CHS = this.lstSpecail.children;
for (var _i = 0; _i < ATTR_EXTRA.length; ++_i) {
var _node2 = CHS[_i];
var _key = ATTR_EXTRA[_i];
_node2.name = _key;
nx.bridge.attrs.setAttribute(_node2, [_key, this.partner[_key], _i + 1]);
nx.gui.setActive(_node2, "add", false);
}
// 其他
},
// 基础刷新
freshAdd: function freshAdd(_props) {
if (nx.dt.objEmpty(_props)) {
return;
}
// 单加
var doAdd = function doAdd(_node) {
var val = _props["skin_" + _node.name] || 0;
if (val > 0) {
nx.gui.setActive(_node, "add", true);
var ret = nx.bridge.attrs.fmtAttribute(_node.name, val);
if (ret) {
nx.gui.setString(_node, "add/num", ret.val);
}
}
};
// 基础属性
this.lstBase.children.forEach(function (_child) {
doAdd(_child);
});
this.lstSpecail.children.forEach(function (_child) {
doAdd(_child);
});
}
});
cc._RF.pop();