"use strict"; cc._RF.push(module, '18c68DF5DRMG5GVI10GgYq4', 'cmp.pvprank.order'); // Scripts/mod/pvp/rank/cmp/cmp.pvprank.order.js "use strict"; var BridgeWindow = require("bridge.window"); var Mod = require("pvprank.mod"); var NXSpine = require("nx.fx.spine"); var TipsController = require("tips_controller"); var Payment = require("payment.mod"); cc.Class({ "extends": BridgeWindow, properties: { nodRewards: { type: cc.Node, "default": null, displayName: "獎勵列表" }, nodLast: { type: cc.Node, "default": null, displayName: "最終獎勵顯示" }, nodSpine: { type: NXSpine, "default": null, displayName: "最終獎勵顯示" }, nodMineWin: { type: cc.Node, "default": null, displayName: "勝場數據" }, nodOp: { type: cc.Node, "default": null, displayName: "勝場數據" }, nodBuy: { type: cc.Node, "default": null, displayName: "操作" }, nodBuyGetOnce: { type: cc.Node, "default": null, displayName: "購買立得顯示" }, nodBuyGetTip: { type: cc.Node, "default": null, displayName: "購買提示" } }, onLoad: function onLoad() { var _this = this; this.mod = Mod.getInstance(); if (!this.mod) { this.delayClose(); return; } this.nodSpine.load("resDB/models/H30056/show", function (_e) { if (!_e) { _this.nodSpine.action("drama1", true); } else { _this.nodSpine.stop(); } }); this.cfg = this.mod.getCfg(); // 视图监听 this.vbind([["rankOrder", this.freshInfo.bind(this)]]); }, freshInfo: function freshInfo(_info) { // console.log( "當前的戰令數據" + JSON.stringify( _info ) ); var info = _info; if (!info) { return; } /***** * 當前的戰令數據{"period":2,"cur_day":2,"end_time":1714665600,"lev":2,"rmb_status":0,"win_count":6,"list":[]} */ var desc = info.rmb_status == 1 ? nx.text.getKey("PvpRankBoughtOrder") : nx.text.getKey("PvpRankBuyOrder"); nx.gui.setString(this.nodBuyGetTip, "txt", desc); var period = info.period; this.period = period; var cfg = gdata(this.cfg[1], "data_lev_reward_list")[period]; var sfgg = gdata(this.cfg[1], "data_advance_card_list")[period]; var buyonceget = sfgg.reward; var cost = game.configs.charge_data.data_charge_data[sfgg.charge_id]; nx.gui.setString(this.nodBuy, "txt", nx.text.format("ChargeCost", Payment.getInstance().fmtPrice(cost.val))); this.charge_id = sfgg.charge_id; var buycmp = nx.gui.getComponent(this.nodBuyGetOnce, "pay", "cmp.common.itemlayout"); if (buycmp) { buycmp.rebuild(buyonceget); } nx.gui.setActive(this.nodBuyGetOnce, "got", info.rmb_status == 1); var count = Object.keys(cfg).length; this.cangets = []; nx.gui.setCdTxt(this.nodMineWin, "info/timee/time", info.end_time - Math.floor(cc.sys.now() / 1000), function () {}); nx.gui.setString(this.nodMineWin, "win/txt", nx.text.format("RankMineDesc", info.win_count)); nx.gui.gocChildren(this.nodRewards, "", count - 1); var chd = this.nodRewards.children; var countd = 0; for (var i = 0; i < chd.length; i++) { var _nod = chd[i]; var infoc = cfg[i + 1]; var _freecmp = nx.gui.getComponent(_nod, "free", "cmp.common.itemlayout"); var _paycmp = nx.gui.getComponent(_nod, "pay", "cmp.common.itemlayout"); nx.gui.setString(_nod, "win/txt", nx.text.format("RankDesc", infoc.win_count)); if (_freecmp) { _freecmp.rebuild(infoc.reward); } if (_paycmp) { _paycmp.rebuild(infoc.rmb_reward); } nx.gui.setActive(_nod, "ffocus", false); nx.gui.setActive(_nod, "pfocus", false); if (nx.dt.arrNEmpty(info.list)) { var _canget = info.list[i]; if (!_canget) { nx.gui.setActive(_nod, "ffocus", false); nx.gui.setActive(_nod, "pfocus", false); nx.gui.setActive(_nod, "got/free", false); nx.gui.setActive(_nod, "got/pay", false); continue; } if (_canget.award_status == 0 || _canget.rmb_award_status == 0 && info.rmb_status == 1) { countd++; this.cangets.push(_canget.id); } nx.gui.setActive(_nod, "ffocus", _canget.award_status == 0); nx.gui.setActive(_nod, "pfocus", _canget.rmb_award_status == 0 && info.rmb_status == 1); nx.gui.setActive(_nod, "got/free", _canget.award_status == 1); nx.gui.setActive(_nod, "got/pay", _canget.rmb_award_status == 1); } else { nx.gui.setActive(_nod, "ffocus", false); nx.gui.setActive(_nod, "pfocus", false); nx.gui.setActive(_nod, "got/free", false); nx.gui.setActive(_nod, "got/pay", false); } } nx.gui.setActive(this.nodOp, "tip", countd > 0); nx.gui.setActive(this.nodBuy, "", info.rmb_status == 0); // 最后一級獎勵相關顯示 var nod = this.nodLast; var linfo = cfg[count]; var freecmp = nx.gui.getComponent(nod, "free", "cmp.common.itemlayout"); var paycmp = nx.gui.getComponent(nod, "pay", "cmp.common.itemlayout"); nx.gui.setString(nod, "win/txt", nx.text.format("RankDesc", linfo.win_count)); if (freecmp) { freecmp.rebuild(linfo.reward); } if (paycmp) { paycmp.rebuild(linfo.rmb_reward); } var cangets = info.list[count - 1]; if (!cangets) { nx.gui.setActive(nod, "ffocus", false); nx.gui.setActive(nod, "pfocus", false); nx.gui.setActive(nod, "got/free", false); nx.gui.setActive(nod, "got/pay", false); } else { nx.gui.setActive(nod, "ffocus", canget.award_status == 0); nx.gui.setActive(nod, "pfocus", canget.rmb_award_status == 0); nx.gui.setActive(nod, "got/free", canget.award_status == 1); nx.gui.setActive(nod, "got/pay", canget.rmb_award_status == 1); } }, onTouchGet: function onTouchGet() { var id = this.cangets.shift(); this.mod.sender24953(0); }, onTouchBuy: function onTouchBuy() { Payment.getInstance().reqPayment(this.charge_id); // this.mod.sender24953( 0 ); }, onTouchHelp: function onTouchHelp() { var TC = TipsController.getInstance(); var explain2 = gdata(this.cfg[1], "data_constant").rule_desc; // let desc = explain.desc + "\n\n" + explain2.title + "\n" + explain2.desc; TC.showTextPanel(nx.text.getKey("ActHelpTitle"), explain2.desc); } }); cc._RF.pop();