Files
fc/dev/project/assets/Scripts/mod/mainui/cmp/cmp.main.openserver.js
T
2026-05-23 22:10:14 +08:00

142 lines
4.6 KiB
JavaScript

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