const DrawApi = require("../net/DrawApi"); const GameNotificationKey = require('../utils/GameEnum').GameNotificationKey; const GameModule = require("../utils/GameModule"); const DWTool = require("../utils/DWTool"); var Promise = require('../lib/es6-promise').Promise; const lottery = require('../data/lottery'); const TapTapTool = require("../utils/TapTapTool"); cc.Class({ extends: cc.Component, properties: { starNameLabel: cc.Label, bottomTitleLabel: cc.Label, starNode: cc.Node, againButton: cc.Button, againRichText: cc.RichText, againSprite: cc.Sprite, }, // LIFE-CYCLE CALLBACKS: onLoad () { this._localDrawStarDatas = lottery; }, start () { }, // init(drawData, typeId) { // this.typeId = typeId; // this.drawData = drawData; // let drawSuccessData = drawData.drawSuccessData; // let nameString = '获得'; // let desc = ''; // let starId = -1; // /// 抽奖获得金币数 // if (drawSuccessData.type == 1) { // let add = TapTapTool.multiple(GameModule.userInfo.coinTap, drawSuccessData.opt) // GameModule.userInfo.gold = TapTapTool.add(GameModule.userInfo.gold, add); // nameString += `金币 ${TapTapTool.parseToString(add)}`; // /// 如果是抽到了钻石 // } else if (drawSuccessData.type == 2) { // GameModule.userInfo.diamond += drawSuccessData.opt; // nameString += `钻石 ${drawSuccessData.opt}`; // /// 如果是红包 // } else if (drawSuccessData.type == 3) { // Global.userData.hb += drawSuccessData.hb; // nameString += ` ${(drawSuccessData.hb / 100).toFixed(3)}元`; // desc += '红包满十元可提现噢~'; // /// 如果抽中的是明星 // } else if (drawSuccessData.type == 4) { // let starData = lottery.filter((n) => { // return n.propId == drawSuccessData.starId; // }) // nameString = '获得 ' + starData.propName; // desc = starData.propName + '加入你的明星图集'; // GameModule.userInfo.perpetualClickMt = drawSuccessData.clickMt; // GameModule.userInfo.perpetualMt = drawSuccessData.mt; // GameEvent.fire(GameNotificationKey.StarEnterRoom, starData.propId, drawSuccessData.roomId); // starId = starData.propId; // } // this.starNameLabel.string = nameString; // this.bottomTitleLabel.string = desc; // let backGroudId = 70000 + typeId; // this.starNode.getComponent("DrawStarContent").init(backGroudId, starId); // if (this.typeId == 1) { // this._diamond = this.drawData.diamond1; // } else if (this.typeId == 2) { // this._diamond = this.drawData.diamond2; // } else { // this._diamond = this.drawData.diamond3; // } // this.againRichText.string = ` ${this._diamond}`; // ////发通知 已经获取明星 // console.log(`抽奖获得明星 starid${this.drawData.propId} roomid${this.drawData.roomId}`); // if (GameModule.userInfo.diamond < this._diamond) { // this.setUpUseBtnBg(false); // } // }, init(drawData, typeId, backGroudId) { this.typeId = typeId; this.drawData = drawData; this.starNameLabel.string = '获得 ' + drawData.propName; this.bottomTitleLabel.string = drawData.propName + '加入你的明星图集'; this.starNode.getComponent("DrawStarContent").init(backGroudId, drawData.propId); if (this.typeId == 1) { this._diamond = this.drawData.diamond1; } else if (this.typeId == 2) { this._diamond = this.drawData.diamond2; } else { this._diamond = this.drawData.diamond3; } this.againRichText.string = ` ${this._diamond}`; ////发通知 已经获取明星 GameEvent.fire(GameNotificationKey.StarEnterRoom, this.drawData.propId, this.drawData.roomId); console.log(`抽奖获得明星 starid${this.drawData.propId} roomid${this.drawData.roomId}`); if (GameModule.userInfo.diamond < this._diamond) { this.setUpUseBtnBg(false); } }, /// 设置签约的button是否能点击 type 123 setUpUseBtnBg(isActive) { let path = isActive ? './textures/draw/draw_green_btn_bg' : './textures/draw/draw_gray_btn_bg'; this.againButton.interactable = isActive; DWTool.loadResSpriteFrame(path) .then((spriteFrame) => { this.againSprite.spriteFrame = spriteFrame; }); }, dismissAction () { GameModule.audioMng.playClickButton(); this.node.destroy(); GameEvent.fire("draw_done_action"); }, scrollAgainAction() { GameModule.audioMng.playClickButton(); this.againButton.interactable = false this.startDrawRequest(this.typeId).then((respondData) => { this.againButton.interactable = true; GameModule.userInfo.diamond -= this._diamond; this.node.destroy(); GameEvent.fire("draw_again", respondData); }).catch(({code, msg}) => { this.againButton.interactable = true; cc.log(code, msg); }); }, startDrawRequest(typeId) { return new Promise((resolve, reject) => { ///开始抽奖 DrawApi.startLottery(typeId, 1, (respondData) => { resolve(respondData); }, (code, msg) => { reject({code, msg}); }); }) }, // update (dt) {}, });