Files
fc/dev/project/library/imports/6d/6d707734-1f3b-4e81-b508-9bc9a9b4df9e.js
2026-05-24 10:21:26 +08:00

136 lines
3.5 KiB
JavaScript

"use strict";
cc._RF.push(module, '6d707c0HztOgbUIm8mptN+e', 'cmp.act.stepup.task.item');
// Scripts/mod/acts/stepup/cmp/cmp.act.stepup.task.item.js
"use strict";
/******************************************************************
* Copyright(C) 2019 - 2020 Nx Studio
*
* StepUp任务项
*
* 2018.05.18
******************************************************************/
var SVCItem = require("nx.fx.sv.expand.item");
var ItemLayout = require("cmp.item.layout");
var SummonDefine = require("summon.define");
var RoleController = require("role_controller");
var BackPackController = require("backpack_controller");
var STModel = require("act.stepup.mod");
var SCRT = SummonDefine.Status;
cc.Class({
"extends": SVCItem,
properties: {
nodStep: {
"default": null,
type: cc.Node
},
nodDesc: {
"default": null,
type: cc.Node
},
lstRewards: {
"default": null,
type: ItemLayout
},
nodOps: {
"default": null,
type: cc.Node
}
},
// 数据重置
rebind: function rebind(_idx, _data, _key) {
this._super(_idx, _data, _key);
if (nx.dt.objEmpty(_data)) {
return;
}
this.data = _data;
this.step = _data.step;
// 序列
nx.gui.setString(this.nodStep, "txt", "STEP " + this.step);
// 奖励
var items = [];
var push = function push(_bid) {
if (nx.dt.numPositive(_bid, false)) {
items.push([_bid, 1]);
}
};
push(_data.item1_id);
push(_data.item2_id);
push(_data.item3_id);
this.lstRewards.rebuild(items);
// 文本
nx.gui.setString(this.nodDesc, "", nx.text.getKey(_data.content));
nx.gui.setColor(this.nodDesc, "", new cc.Color().fromHEX(_data.color));
// OPS
var data = STModel.getInstance().getData();
this.setCurrentStep(data ? data.step : 0);
},
// 设置当前步骤
setCurrentStep: function setCurrentStep(_step) {
// 未到
if (this.step > _step) {
nx.gui.setActive(this.nodOps, "get", false);
nx.gui.setActive(this.nodOps, "done", false);
return;
}
// 已过
if (this.step < _step) {
nx.gui.setActive(this.nodOps, "get", false);
nx.gui.setActive(this.nodOps, "done", true);
return;
}
// 当前
var cost = this.data.item_show[0];
var args = {
enough: false,
type: SCRT.Item,
bid: cost[0],
need: cost[1]
};
// 道具判断
var BC = BackPackController.getInstance();
var BM = BC.getModel();
// 道具不足或者次数够用则可用钻石
var cnt = BM.getBackPackItemNumByBid(args.bid);
if (cnt >= args.need) {
args.enough = true;
}
var data = STModel.getInstance().getData();
if (cnt < args.need && data.gold_times > 0) {
var diamonds = this.data.diamond_show[0];
if (diamonds[0] != 3) {
nx.error("[STEP-UP]不支持非钻石!");
} else {
var role = RoleController.getInstance().getRoleVo();
if (role.gold >= diamonds[1]) {
args.enough = true;
args.type = SCRT.Diamond;
args.bid = diamonds[0];
args.need = diamonds[1];
}
}
} else {
args.enough = true;
}
nx.gui.setActive(this.nodOps, "done", false);
var btn = nx.gui.setActive(this.nodOps, "get", true);
btn.params = args;
// 货币刷新
var tinfo = gitemdata(args.bid);
nx.bridge.setIcon(btn, "list/icon", tinfo.icon);
nx.gui.setString(btn, "list/num", args.need);
}
});
cc._RF.pop();