const DWTool = require('../utils/DWTool')
const { GameNotificationKey } = require("../utils/GameEnum");
const GameModule = require('../utils/GameModule')
const WeChat = require('../net/WeChat');
const Api = require('../net/Api');
cc.Class({
extends: cc.Component,
properties: {
content: cc.Node,
coinRichText: cc.RichText,
watchVideoRichText: cc.RichText,
shareRichText: cc.RichText,
secretarySprite: cc.Node,
videoBtn: {
tooltip: '观看视频按钮',
default: null,
type: cc.Node
},
shareBtn: {
tooltip: '分享按钮',
default: null,
type: cc.Node
},
normalBtn: {
tooltip: '普通确认按钮',
default: null,
type: cc.Node
},
_grossIncome: 0,
grossIncome: {
get() {
return this._grossIncome;
},
set(value) {
this._grossIncome = value;
this.setCoinRichText(value);
this.setWatchVideoRichText(value);
this.setShareVideoRichText(value);
}
}
},
// LIFE-CYCLE CALLBACKS:
init(grossIncome) {
this.grossIncome = grossIncome;
this._resetBtn();
if (CC_WECHATGAME) {
wx.request({
url: "https://pub.dwstatic.com/wxgame/allstar/sheet/offlineIncome.json",
success: (res) => {
if (res.data.video) {
this.videoBtn.active = true;
}
if (res.data.share) {
this.shareBtn.active = true;
}
if (res.data.normal) {
this.normalBtn.active = true;
}
}
})
} else {
this.videoBtn.active = true;
this.shareBtn.active = true;
}
},
onLoad() {
},
start() {
this.content.scaleX = 0;
this.content.scaleY = 0;
this.content.runAction(cc.scaleTo(0.35, 1, 1).easing(cc.easeBackOut()));
this.secretarySprite.runAction(cc.moveBy(0.3, cc.v2(400, 0)));
},
/**
* 重置按钮状态
*/
_resetBtn() {
this.videoBtn.active = false;
this.shareBtn.active = false;
this.normalBtn.active = false;
},
dismiss() {
let finish = cc.callFunc(() => {
this.node.destroy();
}, this);
let sequence = cc.sequence(cc.scaleTo(0.2, 0, 0).easing(cc.easeBackIn()), finish)
this.content.runAction(sequence);
},
/**
* 普通关闭,获得正常收益x1
*/
close() {
this.addIncome(this._grossIncome)
this.dismiss()
},
/**
* 增加金币收入
* @param {number} value 数量
*/
addIncome(value) {
console.log("addIncome: " + value);
GameModule.userInfo.grossIncome = parseInt(GameModule.userInfo.grossIncome) + parseInt(value)
GameEvent.fire(GameNotificationKey.HandleOfflineIncomeAnim)
},
/**
* 看视频获取更多离线收益
*/
watchVideo() {
// Todo: 对接微信广告Api
this.addIncome(this._grossIncome * 2)
this.dismiss();
},
/**
* 调起微信分享及后续分享逻辑
*/
share() {
if (CC_WECHATGAME) {
// this.shareFlag = 1
wx.shareAppMessage({
title: '确认过眼神,你就是我要的C位',
imageUrl: 'https://pub.dwstatic.com/wxgame/allstar/share/share1.jpg',
// query: 'uid=' + Global.user.uid + '&shareType=' + ShareAction.ADD_FRIEND
success: (res) => {
console.log('分享成功');
this.addIncome(this._grossIncome * 3)
this.dismiss();
// this.shareFlag = 0;
},
fail: (res) => {
console.log('分享失败或取消');
}
});
// 微信分享api无法正确回调时候的备用方案
// wx.onShow(res => {
// if(this.shareFlag == 1) {
// GameModule.userInfo.grossIncome += this.grossIncome * 2;
// this.shareFlag = 0;
// this.dismiss();
// }
// })
} else {
this.addIncome(this._grossIncome * 3)
this.dismiss();
}
},
setCoinRichText(coin) {
this.coinRichText.string = ` ${DWTool.coinParse(coin)}`;
},
setWatchVideoRichText(coin) {
this.watchVideoRichText.string = ` ${DWTool.coinParse(coin * 2)}`;
},
setShareVideoRichText(coin) {
this.shareRichText.string = ` ${DWTool.coinParse(coin * 3)}`;
},
// update (dt) {},
});