const TapTapTool = require("../utils/TapTapTool"); const GameRedDot = require('../utils/GameEnum').GameRedDot; const GameNotificationKey = require('../utils/GameEnum').GameNotificationKey; cc.Class({ extends: cc.Component, properties: { bgFrames: [cc.SpriteFrame], noticeNode: cc.Node }, onLoad () { this.handelQuestShowRedDot(); GameEvent.on(GameNotificationKey.GameRedDotUpdate, this, this.handelQuestShowRedDot); }, init (quest, isMain) { this.quest = quest; this.isMain = isMain; if (this.isMain) { GameEvent.on('quest_main_notice', this, (isCancel) => { console.log('主线任务isCancel为======' + isCancel); if (isCancel) { this.noticeNode.active = false; TapTapTool.removeRedDot(GameRedDot.mainTask); } else { this.noticeNode.active = true; } }); } else { GameEvent.on('quest_daily_notice', this, (isCancel) => { console.log('每日任务isCancel为======' + isCancel); if (isCancel) { this.noticeNode.active = false; TapTapTool.removeRedDot(GameRedDot.dayTask); } else { this.noticeNode.active = true; } }); } }, handelQuestShowRedDot() { if (GameGlobal._redTypes == null || GameGlobal._redTypes == undefined || GameGlobal._redTypes.length == 0) { this.noticeNode.active = false; return; } let redTypes = GameGlobal._redTypes; if (this.isMain) { this.noticeNode.active = redTypes.indexOf(GameRedDot.mainTask) != -1; } else { this.noticeNode.active = redTypes.indexOf(GameRedDot.dayTask) != -1; } }, show () { this.getComponent(cc.Button).interactable = false; this.getComponent('cc.Sprite').spriteFrame = this.bgFrames[1] }, hide () { this.getComponent(cc.Button).interactable = true; this.getComponent('cc.Sprite').spriteFrame = this.bgFrames[0] }, onDestroy() { GameEvent.off('quest_main_notice', this); GameEvent.off('quest_daily_notice', this); GameEvent.off(GameNotificationKey.GameRedDotUpdate, this); } // update (dt) {}, });