Files

190 lines
6.4 KiB
JavaScript
Raw Permalink Normal View History

2026-05-24 10:21:26 +08:00
"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();