/****************************************************************** * Copyright(C) 2019 - 2020 Nx Studio * * 主界面 --- 开服预告监听 * * ******************************************************************/ const BridgeComponent = require( "bridge.component" ); const themeMod = require( "acts.mod" ); const ModP8 = require( "act.appoint8.mod" ); const TaskMod = require( "task.mod" ); cc.Class( { extends: BridgeComponent, properties: { tip: { default : null, type: cc.Node }, }, // 显示 onEnable: function() { this.schedule(()=>{ this.onIsNeedShowTip(); },1.0); }, // 关闭 onDisable: function() { // 视图监听释放 this.vunbind(); }, onIsNeedShowTip: function() { //这边计算是不是需要显示红点,因为这个红点回显示3层逻辑 //红点是否显示----1.副本奖励,2.活动奖励,3xx成长 // //副本 var ifo = nx.mTip.queryByKey( "openServerActs.tipSep1" ); var bNeedShowTip1 = nx.mTip.vget( ifo.key ); var bNeedShowTip2 = this.onPage2NeedShowTip(); var bNeedShowTip3 = this.onPage3NeedShowTip(); this.tip.active = bNeedShowTip1||bNeedShowTip2||bNeedShowTip3; }, onPage2NeedShowTip:function() { let ret = false; //活动1--八日约定 let a1 = ModP8.getInstance(); if(a1) { //先确保活动开着 var act1_data = a1.querAppoint8State(); if(act1_data) { let key = a1.getTipKey( "reward" ); ret = nx.mTip.vget( key ); } //有领取就不判断下面的活动了 if(ret == false) { for( var key in game.configs.activity_advertisement_data.data_info ) { var cf = game.configs.activity_advertisement_data.data_info[key]; var bActRet = false switch(cf.source_id) { case 334: //七日特訓 { var theme = themeMod.getInstance().queryThemeBySource( cf.source_id ); if(theme) { //写死吧... let akey = `acts.${theme.theme_id}.1.1002`; bActRet = nx.mTip.vget( akey ); } } break; case 367: //自選派對 case 454: //百抽盛宴 case 354: //成長衝刺 { var theme = themeMod.getInstance().queryTheme( 101 ); if(theme) { for( let k in theme.theme_holiday_list ) { let act = theme.theme_holiday_list[ k ]; if( act && act.source == cf.source_id ) { let akey = `acts.${theme.theme_id}.${act.cate}.${act.camp_id}.reward`; bActRet = nx.mTip.vget( akey ); break; } } } } break; } if(bActRet) { ret = bActRet; break; } } } } nx.mTip.openTip( "openServerActs.tipSep2", ret ); return ret }, onPage3NeedShowTip:function() { let ret = false; //这边红点只要关注一个任务是不是完成了 for( var key in game.configs.activity_advertisement_data.data_partner_info ) { var cf = game.configs.activity_advertisement_data.data_partner_info[key]; if(cf.type == 1) { //查任务 var taskState = TaskMod.getInstance().getMainPanelQuestByID(cf.quest_id); if(taskState && taskState.finish == 1) { ret = true; } break; } } nx.mTip.openTip( "openServerActs.tipSep3", ret ); return ret }, } );