Files
fc/dev/project/library/imports/92/923cce40-57b2-410b-9bff-100dea4fe65a.js
2026-05-24 10:21:26 +08:00

288 lines
8.5 KiB
JavaScript

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