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