Files
fc/dev/project/library/imports/99/991a93ce-72dd-463d-b97a-0b1b7019fc7b.js
2026-05-24 10:21:26 +08:00

188 lines
5.5 KiB
JavaScript

"use strict";
cc._RF.push(module, '991a9POct1GPbl6CxtwGfx7', 'cmp.act.heroneworder.wnd');
// Scripts/mod/acts/heroneworder/cmp/cmp.act.heroneworder.wnd.js
"use strict";
/******************************************************************
*
* 星辉密令(新英雄活动)
*
******************************************************************/
var ActPopup = require("act.page.base");
var NxExpand = require("nx.fx.sv.expand");
var CmpOrderAward = require("cmp.act.heroneworder.awards");
var TipsController = require("tips_controller");
cc.Class({
"extends": ActPopup,
properties: {
OrderLev: {
"default": null,
type: cc.Node
},
ExpBar: {
"default": null,
type: cc.ProgressBar
},
opsNd: {
"default": null,
type: cc.Node
},
menuNd: {
"default": null,
type: cc.Node
},
tiNd: {
"default": null,
type: cc.Node
},
CdTime: {
"default": null,
type: cc.Node
},
Exps: {
"default": null,
type: cc.Node
},
NdTask: {
"default": null,
type: cc.Node
},
NdOrder: {
"default": null,
type: cc.Node
},
taskList: {
"default": null,
type: NxExpand
},
cmpOrder: {
"default": null,
type: CmpOrderAward
}
},
build: function build(_data) {
this._super(_data);
this.order_data = game.configs.holiday_newhero_order_data;
this.setTips();
// 活动监听
this.mod.vbind(this, [["HeroNewOrderInfos", this.setInfos.bind(this)], ["HeroNewOrderTasks", this.freshTasks.bind(this)], ["HeroNewOrderRewards", this.freshRewards.bind(this)]]);
},
// 初始化
onEnable: function onEnable() {
this.onTogMenu(1);
this.mod.send31210(); //任务详情
this.mod.send31213(); //等级奖励
this.mod.send31216(); //进阶卡
},
onTogMenu: function onTogMenu(_index) {
nx.gui.setActive(this.menuNd, "task", _index == 1);
nx.gui.setActive(this.menuNd, "award", _index == 0);
nx.gui.setActive(this.opsNd, "", _index == 1);
if (_index == 0) {
nx.gui.setActive(this.NdTask, "", true);
nx.gui.setActive(this.NdOrder, "", false);
} else if (_index == 1) {
nx.gui.setActive(this.NdTask, "", false);
nx.gui.setActive(this.NdOrder, "", true);
this.mod.send31213();
}
},
// 销毁
onDestroy: function onDestroy() {
// 活动监听解除
if (this.mod) {
this.mod.vunbind(this);
}
this._super();
},
setTips: function setTips() {
var nds = nx.gui.find(this, "main/bg/menu").children;
for (var i = 0; i < nds.length; i++) {
var nd = nds[i];
if (nd) {
var tip = nx.gui.find(nd, "tip");
var dot = nx.gui.getComponent(tip, "", "nx.vb.visible");
if (!dot) {
nx.gui.setActive(dot, "", false);
} else {
var key = this.mod.getTipKey(this.mod.tipKeys()[i]);
dot.setTarget(nx.mTip, key);
}
}
}
var award_tip = nx.gui.find(this.opsNd, "award/tip");
var award_tipc = nx.gui.find(this.menuNd, "award/tip");
var award_dot = nx.gui.getComponent(award_tip, "", "nx.vb.visible");
var award_dotc = nx.gui.getComponent(award_tipc, "", "nx.vb.visible");
var award_key = this.mod.getTipKey(this.mod.tipKeys()[2]);
if (!award_dot) {
nx.gui.setActive(award_dot, "", false);
} else {
award_dot.setTarget(nx.mTip, award_key);
}
if (!award_dotc) {
nx.gui.setActive(award_tipc, "", false);
} else {
award_dotc.setTarget(nx.mTip, award_key);
}
},
onPreClosed: function onPreClosed() {
this.taskList.rebuild([]);
this.cmpOrder.onPreClear();
// 活动监听解除
if (this.mod) {
this.mod.vunbind(this);
}
},
freshTasks: function freshTasks(list) {
if (nx.dt.arrEmpty(list)) return;
list.sort(function (_a, _b) {
return _a.sortid - _b.sortid;
});
this.taskList.rebuild(list);
},
freshRewards: function freshRewards(list) {
var period = this.mod.getPeriod();
var max_lv = this.order_data.data_constant.star_order_levmax.val;
this.cmpOrder.setRewardList(list);
this.cmpOrder.setMaxreward(this.order_data.data_lev_reward_list[period][max_lv]);
},
setInfos: function setInfos(data) {
var rmbStatus = this.mod.getRmbStatus();
nx.gui.setActive(this.opsNd, "btn_buy", rmbStatus != 1);
if (nx.dt.objEmpty(data)) return;
nx.gui.setString(this.OrderLev, "", data.lev);
var period = this.mod.getPeriod();
var rewards = this.order_data.data_lev_reward_list[period];
if (!rewards) return;
//计算经验值进度条
var cur_lv_data = rewards[data.lev];
var next_lv_data = rewards[data.lev + 1];
if (next_lv_data) {
if (cur_lv_data) {
this.ExpBar.progress = (data.exp - cur_lv_data.exp) / (next_lv_data.exp - cur_lv_data.exp);
}
} else {
this.ExpBar.progress = 1; //满额
}
nx.gui.setString(this.Exps, "", cc.js.formatStr(nx.text.getKey("OrderExp_"), data.exp - cur_lv_data.exp, next_lv_data.exp - cur_lv_data.exp));
nx.gui.setCdTxt(this.CdTime, "", this.mod.getEndTime() - client.socket.getTime());
var card_info = this.order_data.data_advance_card_list[this.mod.getPeriod()];
if (card_info) {
nx.gui.setString(this.tiNd, "", card_info.partner_name);
}
},
onGetAward: function onGetAward() {
this.mod.send31214(0);
},
onTouchHelp: function onTouchHelp() {
var explain = gdata(this.data.config, "data_constant");
TipsController.getInstance().showTextPanel("SummonRule", explain.action_rule.desc);
}
});
cc._RF.pop();