"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();