188 lines
5.5 KiB
JavaScript
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(); |