136 lines
3.5 KiB
JavaScript
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();
|