/******************************************************************************* * * 活动: 積天好禮 * * ******************************************************************************/ const ActBase = require( "act.base" ); const ActLuxury = cc.Class( { extends: ActBase, // 初始化配置数据 initConfig: function() { // 视图附着 nx.plugin.add( this, [ "view" ] ); this.vattach( "Acts" ); }, // 注册协议接受事件 registerProtocals: function() { this.RegisterProtocal( 16603, this.handle16603.bind( this ) ); // 請求子活動相關,來取相關的顯示數據 this.RegisterProtocal( 16604, this.handle16604.bind( this ) ); // 請求領取子活動獎勵相關,來取相關的顯示數據 }, // 从服务器初始化数据 reqBaseFromServer: function( _cb ) { let cfgs = [ this.data.config,//付費活動 ] this.loadConfigs( cfgs, ( _ret, _data ) =>{ this.reqBaseData( _cb ); } ) }, // 请求活动信息 reqBaseData: function( _cb ) { this.reqLuxuryData( _cb ); }, // ============================================================ // 積天好禮 // ============================================================ // 请求積天好禮信息 reqLuxuryData: function( _cb ) { this.SendProtocal( 16603, { bid : this.data.camp_id, }, _cb ); }, // 请求領取積天好禮獎勵 reqGetLuxAward: function( _aim ,_cb) { this.SendProtocal( 16604, { bid : this.data.camp_id, aim : _aim, arg : 0 }, _cb); }, // 请求相關配置信息 handle16603: function( _data ) { if( _data.bid == this.data.camp_id ){ this.setActDay(_data.args); this.vset( "luxuryBaseData", _data ); this.freshTips(); return; } }, // 请求相關配置信息 handle16604: function( _data ) { }, // ============================================================ // 活动红点提示 // ============================================================ // 活动用到的提示KEY tipKeys: function() { return [ "luxuryClaim" ]; }, // 红点提示更新 freshTips: function() { let data = this.vget( "luxuryBaseData" ); let is_reward = false; for(let i in data.aim_list){ if(data.aim_list[i].status == 1){ is_reward = true; break; } } this.openTip( "luxuryClaim", is_reward ); }, setActDay(args){ for(let i in args){ if(args[i].args_key == 43){ this.actDay = args[i].args_val; break; } } }, getActDay(){ if(this.actDay){ return this.actDay; } return 0; } } ); // 模块导出 module.exports = ActLuxury;