142 lines
4.6 KiB
JavaScript
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
|
||
|
|
},
|
||
|
|
} );
|