"use strict"; cc._RF.push(module, '923cc5AV7JBC5v/EA3qT+Za', 'cmp.act.startravel'); // Scripts/mod/acts/startravel/cmp/cmp.act.startravel.js "use strict"; // /****************************************************************** // * // * 群星轨迹 // * // ******************************************************************/ var ActPopup = require("act.popup.base"); var NxTogs = require("nx.fx.togs"); var NxExpand = require("nx.fx.sv.expand"); var ItemLay = require("cmp.common.itemlayout"); var StartravelMod = require("act.star.mod"); var Payment = require("payment.mod"); cc.Class({ "extends": ActPopup, properties: { starLev: { "default": null, type: cc.Node }, expLb: { "default": null, type: cc.Node }, expBar: { "default": null, type: cc.ProgressBar }, lastTime: { "default": null, type: cc.Node }, changeBtn: { "default": null, type: cc.Node }, cliamBtn: { "default": null, type: cc.Node }, //主界面 wins: { "default": [], type: [cc.Node] }, expList: { "default": null, type: NxExpand }, taskList: { "default": null, type: NxExpand }, totalLock: { "default": null, type: cc.Node }, maxItem: { "default": null, type: cc.Node }, maxItemLay: { "default": null, type: ItemLay }, fabItem: { "default": null, type: cc.Prefab }, buyBtn: { "default": null, type: cc.Node } }, // 初始化 onLoad: function onLoad() { this.mod = StartravelMod.getInstance(); this.order_data = game.configs.holiday_new_war_order_data; this.select_index = 0; this.task_index = 0; // 活动监听 this.mod.vbind(this, [["orderTasks", this.freshTasks.bind(this)], ["orderRewards", this.freshRewards.bind(this)], ["orderLastTime", this.refreshTime.bind(this)]]); }, onOpenConfigs: function onOpenConfigs(_params) { this._super(_params); this.bindChain(); this.mod.reqOrderData(); this.mod.send28703(); this.mod.send28706(); //档期战令卡的id this.changePanel(); this.setMaxBaseItem(); }, bindChain: function bindChain() { //任務 var dot = nx.gui.getComponent(this.changeBtn, "tip", "nx.vb.visible"); if (!dot) { nx.gui.setActive(dot, "", false); } else { var key = this.mod.getTipKey(this.mod.tipKeys()[0]); dot.setTarget(nx.mTip, key); } //獎勵 var dot2 = nx.gui.getComponent(this.cliamBtn, "tip", "nx.vb.visible"); if (!dot2) { nx.gui.setActive(dot2, "", false); } else { var key2 = this.mod.getTipKey(this.mod.tipKeys()[1]); dot2.setTarget(nx.mTip, key2); } }, refreshTime: function refreshTime(end_time) { this.tend_time = end_time; var desc = nx.text.getKey("act_common_time"); nx.gui.setString(this.lastTime.parent, "txt", desc); nx.gui.setCdTxt(this.lastTime, "", end_time - client.socket.getTime()); }, onPreClosed: function onPreClosed() { this.expList.rebuild([]); this.taskList.rebuild([]); this.maxItemLay.rebuild([]); // 活动监听解除 if (this.mod) { this.mod.vunbind(this); } }, onTogMenu: function onTogMenu(_index) { //切換任務類型 this.task_index = _index; var time = _index == 0 ? this.daily_list[0].end_time : this.week_list[0].end_time; var desc = _index == 0 ? nx.text.getKey("ActDailyTip") : nx.text.getKey("ActWeeklyTip"); nx.gui.setString(this.lastTime.parent, "txt", desc); nx.gui.setCdTxt(this.lastTime, "", time - client.socket.getTime()); this.freshTasks(); }, changePanel: function changePanel() { for (var i = 0; i < this.wins.length; i++) { nx.gui.setActive(this.wins[i], "", i == this.select_index); if (i == 0 && this.select_index == 0) { var desc = nx.text.getKey("act_common_time"); nx.gui.setString(this.lastTime.parent, "txt", desc); this.refreshTime(this.tend_time); // break; } else {} } if (this.select_index == 0) { nx.gui.setString(this.changeBtn, "txt", nx.text.getKey("ActStarTasks")); this.select_index = 1; } else { var _desc = nx.text.getKey("ActDailyTip"); nx.gui.setString(this.lastTime.parent, "txt", _desc); nx.gui.setString(this.changeBtn, "txt", nx.text.getKey("ActStarTravel")); this.select_index = 0; this.onTogMenu(0); } }, freshTasks: function freshTasks(tasks) { var _this = this; var data = tasks; if (!data) { data = this.mod.vget("orderTasks"); } //任务分类 var daily_list = []; var week_list = []; for (var i in data) { if (data[i].type == 7) { daily_list.push(data[i]); } else if (data[i].type == 8) { week_list.push(data[i]); } } daily_list.sort(function (a, b) { return b.finish - a.finish; }); this.daily_list = daily_list; week_list.sort(function (a, b) { return b.finish - a.finish; }); this.week_list = week_list; this.taskList.rebuild([]); if (this.task_index == 0) { this.scheduleOnce(function () { _this.taskList.rebuild(daily_list); }, 0.3); } else { this.scheduleOnce(function () { _this.taskList.rebuild(week_list); // nx.gui.setCdTxt(this.lastTime,"",week_list[0].end_time - client.socket.getTime()); }, 0.3); } this.setInfo(); }, setInfo: function setInfo() { nx.gui.setString(this.starLev, "", this.mod.getCurLev()); var period_data = this.order_data.data_lev_reward_list[this.mod.getCurPeriod()]; var cur_data = period_data[this.mod.getCurLev()]; var next_lev_data = period_data[this.mod.getCurLev() + 1]; if (next_lev_data) { nx.gui.setString(this.expLb, "", cc.js.formatStr(nx.text.getKey("ActStarExps_"), this.mod.getCurExp() - cur_data.exp, next_lev_data.exp - cur_data.exp)); this.expBar.progress = (this.mod.getCurExp() - cur_data.exp) / (next_lev_data.exp - cur_data.exp); } else { nx.gui.setString(this.expLb, "", cc.js.formatStr(nx.text.getKey("ActStarExps_"), this.mod.getCurExp() - cur_data.exp, 400)); this.expBar.progress = (this.mod.getCurExp() - cur_data.exp) / 400; } this.totalLock.active = !this.mod.getRMBStatus(); var card_data = this.order_data.data_advance_card_list[this.mod.getCurPeriod()]; var charge_data = game.configs.charge_data.data_charge_data[card_data.charge_id]; this.charge_id = card_data.charge_id; var price = Payment.getInstance().fmtPrice(charge_data.val); nx.gui.setString(this.buyBtn, "price", price); }, freshRewards: function freshRewards(rewards) { var _this2 = this; var is_rmb = this.mod.getRMBStatus(); nx.gui.setActive(this.buyBtn, "", is_rmb == 0); var exp_datas = this.order_data.data_lev_reward_list[this.mod.getCurPeriod()]; var list = []; for (var i in exp_datas) { var obj = {}; obj.data = exp_datas[i]; for (var j in rewards) { if (rewards[j].id == exp_datas[i].lev) { obj.cfg = rewards[j]; break; } } list.push(obj); } this.scheduleOnce(function () { _this2.expList.rebuild(list); }, 0.1); }, setMaxBaseItem: function setMaxBaseItem() { var period_id = this.mod.getCurPeriod(); var list = this.order_data.data_lev_reward_list[period_id]; var max_data = null; for (var i in list) { if (max_data) { if (list[i].lev > max_data.lev) { max_data = list[i]; } } else { max_data = list[i]; } } if (!max_data) return; nx.gui.setString(this.maxItem, "idx", max_data.lev); var awards = []; for (var idx in max_data.rmb_reward) { awards.push({ bid: max_data.rmb_reward[idx][0], num: max_data.rmb_reward[idx][1] }); } this.maxItemLay.rebuild(awards); var item = cc.instantiate(this.fabItem); var tag = nx.gui.find(this.maxItem, "tag"); item.parent = tag; var cmp = nx.gui.getComponent(item, "", "cmp.item.base"); if (cmp) { cmp.rebind(0, max_data.reward[0], ""); } }, onClickBuyOrder: function onClickBuyOrder() { nx.bridge.createPanel("WndActStartravelOrder", { mod: this.mod, period: this.mod.getCurPeriod() }); }, onClickAllAward: function onClickAllAward() { this.mod.reqGift(0); }, onClickBuy: function onClickBuy() { if (this.charge_id) { //花钱买 Payment.getInstance().reqPayment(this.charge_id); } } }); cc._RF.pop();