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