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; 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 () { }, start () { }, 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) {}, });