Files
fc/dev/project/library/imports/e0/e0f431cd-d611-4c8a-9c95-03ece66e7056.js
2026-05-24 10:21:26 +08:00

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