Files
fc/dev/project/library/imports/00/0085558e-46df-4195-a1db-8ce80c2403f9.js
T
2026-05-24 10:21:26 +08:00

196 lines
5.6 KiB
JavaScript

"use strict";
cc._RF.push(module, '00855WORt9BlaHbjOgMJAP5', 'cmp.act.custom.select');
// Scripts/mod/acts/sevencustomization/cmp/cmp.act.custom.select.js
"use strict";
var BridgeWindow = require("bridge.window");
var FxSVC = require("nx.fx.sv.expand");
var Mod = require("act.sevencustom.mod");
var BackpackController = require("backpack_controller");
cc.Class({
"extends": BridgeWindow,
properties: {
svcRewardsList: {
"default": null,
type: FxSVC,
displayName: "奖励列表"
},
nodRewards: {
"default": null,
type: cc.Node,
displayName: "上方奖励列表"
},
nodLeft: {
"default": null,
type: cc.Node,
displayName: "左邊顯示相關"
}
},
// 重载:参数打开
onOpenConfigs: function onOpenConfigs(_params) {
this.day = _params.day;
this.cate = _params.cate;
this.cfg = _params.config;
this.pos = _params.pos;
this.cfgs = gdata(this.cfg, "data_optional_reward", this.cate + 1);
this.select = _params.pos;
this.inPos = _params.select;
this.dealRewards(this.select);
if (_params.select) {
this.inPos.sort(function (a, b) {
return a.bid - b.bid;
});
for (var i = 0; i < this.inPos.length; i++) {
var item = this.nodRewards.children[i];
var cmp = nx.gui.getComponent(item, "item", "cmp.item.base");
if (cmp) {
cmp.rebind(i, this.inPos[i]);
}
nx.gui.setActive(item, "item", true);
nx.gui.setActive(item, "change", true);
if (i == this.select - 1) {
var pos = {
mdata: this.inPos[i]
};
this.onTouchAdd(pos);
}
}
} else {
this.freshLeftCnt([]);
}
},
onTouchChange: function onTouchChange(_item) {},
onTouchFocus: function onTouchFocus(_idx) {
this.dealRewards(_idx);
this.select = _idx;
if (this.inPos) {
var pos = {
mdata: this.inPos[this.select - 1]
};
this.onTouchAdd(pos);
} else {
this.freshLeftCnt([]);
}
},
dealRewards: function dealRewards(_idx) {
for (var n = 0; n < this.nodRewards.children.length; n++) {
var nod = this.nodRewards.children[n];
var cfgg = this.cfgs[n + 1];
nx.gui.setActive(nod, "focus", false);
if (!cfgg) {
nx.gui.setActive(nod, "", false);
continue;
}
if (n == _idx - 1) {
nx.gui.setActive(nod, "focus", true);
}
nx.gui.setActive(nod, "", true);
}
var show = this.cfgs[_idx];
this.svcRewardsList.rebuild(show);
},
onTouchAdd: function onTouchAdd(_item) {
var nodes = nx.gui.find(this.svcRewardsList.bindSCV, "view/content").children;
// console.log( "当前的方案处理www" );
var select = parseInt(this.select);
var mdata = _item.mdata;
var item = this.nodRewards.children[select - 1];
var cmp = nx.gui.getComponent(item, "item", "cmp.item.base");
if (cmp) {
cmp.rebind(select - 1, mdata);
}
nx.gui.setActive(item, "item", true);
nx.gui.setActive(item, "change", true);
var show = {};
if (nx.dt.arrNEmpty(mdata)) {
show = {
bid: mdata[0],
num: mdata[1]
};
}
if (nx.dt.objNEmpty(mdata)) {
show = mdata;
}
for (var i = 0; i < nodes.length; i++) {
if (nodes[i].svItem) {
var chd = nodes[i].svItem;
if (chd.mdata[0] == show.bid) {
chd.onFocus();
} else {
chd.outFocus();
}
}
}
this.freshLeftCnt(show);
},
onTouchSave: function onTouchSave() {
var rewards = [];
var chd = this.nodRewards.children;
chd.forEach(function (_nod) {
if (_nod.active) {
var cmp = nx.gui.getComponent(_nod, "item", "cmp.item.base");
if (cmp.mdata) {
rewards.push({
item_id: cmp.mdata[0] || cmp.mdata.bid,
num: cmp.mdata[1] || cmp.mdata.num
});
}
}
});
var len = Object.keys(this.cfgs).length;
if (rewards.length == 0 || rewards.length < len) {
nx.tbox("CustomEmptyTip");
return;
}
Mod.getInstance().reqSetGift(this.cate + 1, rewards, this.day + 1, 0);
},
onTouchSure: function onTouchSure() {
var _this = this;
var rewards = [];
var chd = this.nodRewards.children;
chd.forEach(function (_nod) {
if (_nod.active) {
var cmp = nx.gui.getComponent(_nod, "item", "cmp.item.base");
if (cmp.mdata) {
rewards.push({
item_id: cmp.mdata[0] || cmp.mdata.bid,
num: cmp.mdata[1] || cmp.mdata.num
});
}
}
});
var len = Object.keys(this.cfgs).length;
if (rewards.length == 0 || rewards.length < len) {
nx.tbox("CustomEmptyTip");
return;
}
nx.mbox(nx.text.getKey("CustomSaveTip"), ["cancel", "confirm"], function (_key, _box) {
_box.close();
if (_key == "confirm") {
Mod.getInstance().reqSetGift(_this.cate + 1, rewards, _this.day + 1, 1);
}
});
},
freshLeftCnt: function freshLeftCnt(_show) {
var nod = nx.gui.find(this.nodLeft, "info");
if (nx.dt.objNEmpty(_show)) {
nx.gui.setActive(this.nodLeft, "empty", false);
nx.gui.setActive(nod, "", true);
var cmp = nx.gui.getComponent(nod, "item", "cmp.item.base");
if (cmp) {
cmp.setData(_show);
}
var count = BackpackController.getInstance().getModel().getItemNumByBid(_show.bid);
nx.gui.setString(nod, "have/txt", count);
var config = gitemdata(_show.bid);
nx.gui.setString(nod, "type/txt", config.type_desc);
return;
}
nx.gui.setActive(nod, "", false);
nx.gui.setActive(this.nodLeft, "empty", true);
}
});
cc._RF.pop();