"use strict"; cc._RF.push(module, '541bekdZG5LcreXvt2xWg8F', 'cmp.team.summon'); // Scripts/mod/acts/teamSummon/cmp/cmp.team.summon.js "use strict"; /****************************************************************** * * 限定招募 * ******************************************************************/ var ActPage = require("act.page.base"); var NxSpine = require("nx.fx.spine"); var ItemLayout = require("cmp.item.layout"); var BridgeItemBinder = require("bridge.binder.item.icon.count"); var TipsController = require("tips_controller"); var FID = require("bridge.function.ids"); cc.Class({ "extends": ActPage, properties: { spLogo: { "default": null, type: NxSpine }, nodDate: { "default": null, type: cc.Node }, nodTip: { "default": null, type: cc.Node }, nodCoin: { "default": null, type: BridgeItemBinder }, nodScore: { "default": null, type: BridgeItemBinder }, nodOps: { "default": null, type: cc.Node }, nodClose: { "default": null, type: cc.Node }, tipReward: { "default": null, type: ItemLayout } }, // 初始化 build: function build(_data) { this._super(_data); // 置空 if (!this.mod || nx.dt.objEmpty(this.data)) { this.setEmpty(); return; } // 配置查询 this.configs = this.mod.queryConfigs(); if (!this.configs) { this.setEmpty(); return; } // 活动监听 // this.mod.vbind( this, [ // ["LimitPrayFreshed", this.onFreshData.bind( this )], // ] ); // 基本信息 this.buildBasic(); this.nodOps.active = false; this.nodClose.active = false; }, // 显示 onEnable: function onEnable() { var _this = this; this.mod.reqState(function (_ret, _data) { if (!_ret || !_data) { return; } // 0-未开启,1-开放阶段 _this.nodOps.active = _data.status == 1; _this.nodClose.active = _data.status == 0; }); }, // 销毁 onDestroy: function onDestroy() { this._super(); }, // 置空 setEmpty: function setEmpty() { nx.gui.setActive(this, "right", false); }, // 基本信息 buildBasic: function buildBasic() { var _this2 = this; // 置空 if (!this.mod || !this.configs || nx.dt.objEmpty(this.data)) { this.setEmpty(); return; } // 背景刷新 var spfile = cc.path.join("locals/{lang}/spines", this.configs.anim, "action"); this.spLogo.play(spfile, "action", null, true); // 道具绑定 this.nodCoin.setID(this.configs.item_id, function () { _this2.freshOps(); }); // 积分绑定 if (this.nodScore) { var _txt = nx.text.format('积分解锁', this.configs.score_vip); nx.gui.setString(this.nodScore, "vip", _txt); var tip = nx.gui.getComponent(this.nodScore, "tip", "nx.vb.visible"); tip.setTarget(nx.mTip, this.mod.getTipKey("score")); this.nodScore.setID(this.configs.score_id, function (_id, _count) { _this2.freshScore(_count); }); } // 红点绑定 var tip1 = nx.gui.getComponent(this.nodOps, "once/tip", "nx.vb.visible"); if (tip1) { tip1.setTarget(nx.mTip, this.mod.getTipKey("once")); } var tip2 = nx.gui.getComponent(this.nodOps, "ten/tip", "nx.vb.visible"); if (tip2) { tip2.setTarget(nx.mTip, this.mod.getTipKey("ten")); } var txt = nx.text.getKey(this.configs.open_desc); nx.gui.setString(this.nodClose, "txt", txt); nx.gui.setString(this.nodTip, "txt", txt); this.tipReward.rebuild(this.configs.reward_show); this.freshDate(); }, // 刷新活动日期 freshDate: function freshDate() { var time = nx.bridge.time.toNeedTime(this.data.end_time); nx.gui.setString(this.nodDate, "txt", time); }, // 刷新奖励 freshRewards: function freshRewards(_list) { var rewards = []; if (nx.dt.arrNEmpty(_list)) { for (var i = 0; i < _list.length; ++i) { rewards.push([_list[i].bid, 1]); } } this.tipReward.rebuild(rewards); }, // 变化信息 freshOps: function freshOps() { // 置空 if (!this.mod || !this.configs || nx.dt.objEmpty(this.data)) { return; } // 按钮设置 var autoOp = function autoOp(_node, _draw, _pt) { var tinfo = gitemdata(_draw[0]); if (tinfo) { nx.bridge.setIcon(_node, "btn/list/icon", tinfo.icon); nx.gui.setString(_node, "btn/list/num", _draw[1]); } }; // 操作刷新 autoOp(nx.gui.find(this.nodOps, "once"), this.configs.item_once[0]); autoOp(nx.gui.find(this.nodOps, "ten"), this.configs.item_ten[0]); }, // 点击单抽 onTouchOnce: function onTouchOnce() { var _this3 = this; if (!this.configs || !this.mod) { return; } this.mod.reqSummon(true, function (_ret, _msg, _code) { if (!_ret) { nx.tbox(_msg); // 道具不足 if (_code == 101) { _this3.onTouchCoin(); } } }); }, // 点击十抽 onTouchTen: function onTouchTen() { var _this4 = this; if (!this.configs || !this.mod) { return; } this.mod.reqSummon(false, function (_ret, _msg, _code) { if (!_ret) { nx.tbox(_msg); // 道具不足 if (_code == 101) { _this4.onTouchCoin(); } } }); }, // 点击规则 onTouchRule: function onTouchRule() { var rule = this.configs ? this.configs.rule : ""; if (nx.dt.strNEmpty(rule)) { var TC = TipsController.getInstance(); TC.showTextPanel("tip", rule); } }, // 点击道具 onTouchCoin: function onTouchCoin() { if (this.actRoot && this.configs) { this.actRoot.jumpToMenu(this.configs.jump); } }, // 点击奖池 onTouchChi: function onTouchChi() { nx.bridge.createPanel("WndSummonRule", { key: "recruit_gather_data" }); }, // ============================================================ // 积分相关 // ============================================================ // 积分更新 freshScore: function freshScore(_count) { var limit = this.configs.score_limit; var prog = nx.gui.getComponent(this.nodScore, "prog", cc.ProgressBar); if (prog) { prog.progress = _count / limit; } var txt = _count + "/" + limit; nx.gui.setString(this.nodScore, "score/txt", txt); this.mod.freshTips(); }, // 点击积分 onTouchScore: function onTouchScore() { var _this5 = this; var can = nx.gui.isActive(this.nodScore, "tip"); if (!can) { nx.tbox("积分不够提示"); return; } this.mod.reqScore(function (_ret, _msg, _code) { // 道具不足 if (!_ret && _code == 101) { nx.tbox(_msg); _this5.onTouchCoin(); } }); } }); cc._RF.pop();