92 lines
2.7 KiB
JavaScript
92 lines
2.7 KiB
JavaScript
"use strict";
|
|
cc._RF.push(module, 'e0f43HN1hFMipyVA+zmbnBW', 'cmp.partner.equip.select.wnd');
|
|
// Scripts/mod/partner/cmps/basic/cmp.partner.equip.select.wnd.js
|
|
|
|
"use strict";
|
|
|
|
/******************************************************************
|
|
*
|
|
* 礼包选择界面
|
|
*
|
|
******************************************************************/
|
|
|
|
var BridgeWindow = require("bridge.window");
|
|
var FxSVC = require("nx.fx.sv.expand");
|
|
var BackPackConst = require("backpack_const");
|
|
var BackPackController = require("backpack_controller");
|
|
var BBC = BackPackConst.Bag_Code;
|
|
var BIT = BackPackConst.item_type;
|
|
var BITT = BackPackConst.item_sub_type;
|
|
cc.Class({
|
|
"extends": BridgeWindow,
|
|
properties: {
|
|
svcList: {
|
|
"default": null,
|
|
type: FxSVC
|
|
}
|
|
},
|
|
// 重载:参数打开
|
|
onOpenConfigs: function onOpenConfigs(_params) {
|
|
this.etype = _params.etype.type;
|
|
this.partner = _params.etype.partner_id;
|
|
this.cb = _params.cb;
|
|
var BC = BackPackController.getInstance();
|
|
var model = BC.getModel();
|
|
var wcfg = game.configs.weapon_data.data_get_skill;
|
|
|
|
// 统计该类型装备列表
|
|
var eqms = [];
|
|
var list = {};
|
|
if (this.etype == BIT.ARTIFACTCHIPS) {
|
|
list = model.getAllBackPackArray(BITT.SPECIAL) || {};
|
|
} else if (this.etype == BIT.GOD_EARRING || this.etype == BIT.GOD_RING || this.etype == BIT.GOD_NECKLACE || this.etype == BIT.GOD_BANGLE) {
|
|
list = model.getAllBackPackArray(BITT.HOLYEQUIPMENT) || {};
|
|
} else {
|
|
list = model.getBagItemList(BBC.EQUIPS) || {};
|
|
}
|
|
// 统计匹配项
|
|
for (var i in list) {
|
|
var eqm = list[i];
|
|
if (eqm && eqm.config && eqm.config.type == this.etype) {
|
|
if (eqm.config.type == BIT.Exclusive) {
|
|
if (wcfg[eqm.base_id].partner_id == this.partner) {
|
|
eqms.push(eqm);
|
|
}
|
|
} else {
|
|
eqms.push(eqm);
|
|
}
|
|
}
|
|
}
|
|
|
|
// 排序
|
|
var empty = nx.dt.arrEmpty(eqms);
|
|
if (!empty) {
|
|
if (this.etype == BIT.ARTIFACTCHIPS) {
|
|
eqms.sort(function (objA, objB) {
|
|
if (objA.enchant != objB.enchant) {
|
|
return objB.enchant - objA.enchant;
|
|
} else if (objA.config && objB.config) {
|
|
return objB.config.quality - objA.config.quality;
|
|
} else {
|
|
return -1;
|
|
}
|
|
});
|
|
} else {
|
|
eqms.sort(Utils.tableUpperSorter(["all_score"]));
|
|
}
|
|
}
|
|
|
|
// 刷新
|
|
nx.gui.setActive(this.svcList, "empty", empty);
|
|
this.svcList.rebuild(eqms);
|
|
this.svcList.binder = this;
|
|
},
|
|
// 选中装备
|
|
onEquip: function onEquip(_item) {
|
|
if (_item && nx.dt.numPositive(_item.id, false)) {
|
|
nx.dt.fnInvoke(this.cb, _item.id, this);
|
|
}
|
|
}
|
|
});
|
|
|
|
cc._RF.pop(); |