"use strict"; cc._RF.push(module, '183f1Fg74hBboRppf4nfTka', 'act.hundreddraw.wnd'); // Scripts/mod/acts/hundreddraw/cmp/act.hundreddraw.wnd.js "use strict"; /****************************************************************** * * 開服百抽 * ******************************************************************/ var ActPage = require("act.page.base"); var NxSpine = require("nx.fx.spine"); var Payment = require("payment.mod"); cc.Class({ "extends": ActPage, properties: { nodRewards: { type: cc.Node, "default": null }, spRole: { type: NxSpine, "default": null }, nodOp: { type: cc.Node, "default": null } }, // 初始化 build: function build(_data) { var _this = this; this._super(_data); // 无效 if (!this.mod) { return; } // nx.gui.setActive( this.spRole, "", false ); this.spRole.load("resDB/models/H30083/show", function (_e) { if (!_e) { _this.spRole.action("drama1", true); } else { _this.spRole.stop(); } }); // 獲取相關的配置 var cfg = gdata(this.mod.data.config, "data_news_draws_data"); var count = Object.keys(cfg).length; nx.gui.gocChildren(this.nodRewards, "", count); for (var i in cfg) { var info = cfg[i]; var nod = this.nodRewards.children[info.id - 1]; var free = nx.gui.find(nod, "free/buy"); nx.gui.setActive(nod, "free/focus", false); nx.gui.setActive(nod, "free/got", false); nx.gui.setActive(nod, "cost/got", false); nx.gui.setActive(nod, "cost/focus", false); nx.gui.setString(nod, "day/txt", info.id < 10 ? "0" + info.id : info.id); var cmp = nx.gui.getComponent(free, "", "cmp.common.itemlayout"); if (cmp) { cmp.rebuild(info.reward); } var buy = nx.gui.find(nod, "cost/buy"); var bcmp = nx.gui.getComponent(buy, "", "cmp.common.itemlayout"); if (bcmp) { bcmp.rebuild(info.unlock_reward); } } var charge = gdata(this.mod.data.config, "data_const").charge_id; this.charge_id = charge.val; var cinfo = game.configs.charge_data.data_charge_data[charge.val]; nx.gui.setString(this.nodOp, "charge/txt", nx.text.format("NeedPayUnlock", Payment.getInstance().fmtPrice(cinfo.val))); this.needpay = cinfo.val; nx.gui.setActive(this.nodOp, "free/tip", false); nx.gui.setActive(this.nodOp, "charge/tip", false); // // 活动监听 this.mod.vbind(this, [["HundredDraw", this.freshInfo.bind(this)]]); /******* * {"status_list":[ * {"day":10,"status1":0,"status2":0}, * {"day":9,"status1":0,"status2":0}, * {"day":8,"status1":0,"status2":0}, * {"day":7,"status1":0,"status2":0}, * {"day":6,"status1":0,"status2":0}, * {"day":5,"status1":0,"status2":0}, * {"day":4,"status1":0,"status2":0}, * {"day":3,"status1":1,"status2":0}, * {"day":2,"status1":1,"status2":0}, * {"day":1,"status1":1,"status2":0} * ],"is_charge":0} */ }, onEnable: function onEnable() { this.mod.reqBaseData(); }, // 刷新相關的數據顯示 主要包含當前的領取數據 freshInfo: function freshInfo(_data) { if (!_data || !this.nodRewards) { return; } var chd = this.nodRewards.children; this.buyInfo = _data; var list = _data.status_list; this.canGetFree = []; this.canGetPay = []; for (var i = 0; i < list.length; i++) { var info = list[i]; var nod = chd[i]; if (info.day == i + 1) { var free = nx.gui.find(nod, "free"); var cost = nx.gui.find(nod, "cost"); nx.gui.setActive(free, "focus", info.status1 == 1); nx.gui.setActive(cost, "focus", info.status2 == 1); nx.gui.setActive(free, "got", info.status1 == 2); nx.gui.setActive(cost, "got", info.status2 == 2); nx.gui.setActive(cost, "lock", _data.is_charge == 0); } if (info.status1 == 1) { this.canGetFree.push(info.day); } if (info.status2 == 1) { this.canGetPay.push(info.day); } } nx.gui.setActive(this.nodOp, "free/tip", nx.dt.arrNEmpty(this.canGetFree)); nx.gui.setActive(this.nodOp, "charge/tip", nx.dt.arrNEmpty(this.canGetPay)); nx.gui.setString(this.nodOp, "charge/txt", this.buyInfo.is_charge == 0 ? nx.text.format("NeedPayUnlock", Payment.getInstance().fmtPrice(this.needpay)) : nx.text.getKey("ActPayGet")); var cmp = nx.gui.getComponent(this.nodOp, "free", cc.Button); var pcmp = nx.gui.getComponent(this.nodOp, "charge", cc.Button); if (cmp) { cmp.interactable = nx.dt.arrNEmpty(this.canGetFree); } if (pcmp && this.buyInfo.is_charge == 1) { pcmp.interactable = nx.dt.arrNEmpty(this.canGetPay); } }, // 點擊免費 打卡領取 onTouchGet: function onTouchGet() { if (nx.dt.arrEmpty(this.canGetFree)) { nx.tbox("ActHundredGetTip"); return; } if (!this.buyInfo) { return; } var day = this.canGetFree.shift(); var info = { day: day, type: 0 }; this.mod.reqGetDailyReward(info); }, // 點擊購買 onTouchBuy: function onTouchBuy() { if (!this.buyInfo) { return; } // 判斷當前的禮包購買狀態,若未購買則提示 var self = this; var ischarge = this.buyInfo.is_charge; if (ischarge == 0) { var tip = nx.text.format("ActHundredBuyTip", Payment.getInstance().fmtPrice(this.needpay)); nx.mbox(tip, ['cancel', 'confirm'], function (_key, _box) { _box.close(); if (_key == "confirm") { // this.reqSummon( _args.type, _times, _args ); Payment.getInstance().reqPayment(self.charge_id); } }); } else { var day = this.canGetPay.shift(); var info = { day: day, type: 1 }; this.mod.reqGetDailyReward(info); } } }); cc._RF.pop();