190 lines
6.4 KiB
JavaScript
190 lines
6.4 KiB
JavaScript
|
|
"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();
|