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