const {QuestMainMissionType, GameNotificationKey} = require("../utils/GameEnum"); const DWTool = require('../utils/DWTool'); const InviteApi = require('../net/InviteApi'); const GameModule = require("../utils/GameModule"); const TapTapTool = require("../utils/TapTapTool"); const GameRedDot = require('../utils/GameEnum').GameRedDot; cc.Class({ extends: cc.Component, properties: { friendCountRichText: cc.RichText, timeRichText: cc.RichText, noButton: cc.Button, gainButton: cc.Button, finishButton: cc.Button, }, // LIFE-CYCLE CALLBACKS: // onLoad () {}, start () { }, configData(model) { this.model = model; this.hideAllButton(); switch (model.status) { case QuestMainMissionType.NoFinished: this.noButton.node.active = true; break; case QuestMainMissionType.AlreadyGet: this.finishButton.node.active = true; break; case QuestMainMissionType.CanGain: this.gainButton.node.active = true; break; } this.friendCountRichText.string = `${model.count}位好友已成功点击`; var timeString = model.time / 60; if (DWTool.isDot(timeString)) { timeString = timeString.toFixed(2); } this.timeRichText.string = `${timeString}分钟`; }, hideAllButton() { this.noButton.node.active = false; this.gainButton.node.active = false; this.finishButton.node.active = false; }, gainAward() { InviteApi.postFriendGainAward(this.model.rewardId, (responseData) => { if (responseData.isCancel) { TapTapTool.removeRedDot(GameRedDot.friendAward); } this.refreshButtonState(); let isNew = true; for (let i = 0; i < GameGlobal._timeInformations.length; ++ i) { let information = GameGlobal._timeInformations[i]; if (information.type == 3) { /// 如果是已经使用过的直接刷新时间就可以啦 information.cdTime = GameGlobal.friendRewardCdTime; isNew = false; break; } } if (isNew) { let messageItem = {'cdTime': GameGlobal.friendRewardCdTime, 'type': 3}; GameGlobal._timeInformations.push(messageItem); GameEvent.fire(GameNotificationKey.GameUpdateMessageList, 1, true); } }, (error) => { GameGlobal.commonAlert.showCommonErrorAlert("领取失败"); }); }, refreshButtonState() { GameModule.audioMng.playGetAward(); this.model.status = QuestMainMissionType.AlreadyGet; this.hideAllButton(); this.finishButton.node.active = true; GameGlobal.friendRewardCdTime += this.model.time * 1000; GameEvent.fire(GameNotificationKey.GainFriendHelpClick); } // update (dt) {}, });