// -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 这里填写详细说明,主要填写该模块的功能简要 //
Create: {DATE} // -------------------------------------------------------------------- const BridgeClass = require( "bridge.class" ); const SummonDefine = require( "summon.define" ); var PartnersummonModel = cc.Class( { extends: BridgeClass, ctor: function() { }, properties: { recruit_list: null, // 卡库的数据 recruit_data: null, // 召唤结果 had_open_view: false, }, initConfig: function() { }, setSummonData: function( summon_data ) { if( !summon_data ) return; this.recruit_list = summon_data.recruit_list; this.setShareData( summon_data ); this.updateRecruitData(); }, // 更新免费召唤次数、下次免费时间 updateSummonData: function( update_data ) { if( !update_data ) return; if( !this.recruit_list ) return; for( var recruit_i in this.recruit_list ) { var recruit_info = this.recruit_list[ recruit_i ]; if( recruit_info.group_id === update_data.group_id && recruit_info.draw_list ) { for( var draw_i in recruit_info.draw_list ) { var draw_info = recruit_info.draw_list[ draw_i ]; if( draw_info.times === 1 && draw_info.kv_list ) { for( var kv_i in draw_info.kv_list ) { var kv_info = draw_info.kv_list[ kv_i ]; if( kv_info.key == SummonDefine.Recruit_Key.Free_Count ) kv_info.val = update_data.free_times; if( kv_info.key == SummonDefine.Recruit_Key.Free_Time ) kv_info.val = update_data.free_cd_end; } } } } } gcore.GlobalEvent.fire( SummonDefine.UpdateSummonDataEvent, update_data ); }, setRecruitData: function( recruit_data ) { this.recruit_data = recruit_data }, getRecruitData: function() { return this.recruit_data }, setShareData: function( data ) { }, updateRecruitData: function( data_list ) { }, // 获取卡库数据 getSummonGroupData: function() { var group_data = [] var recruit_config = game.configs.recruit_data.data_partnersummon_data; var group_item = null; var recruit_config_info = null; var group_id = null; for( var recruit_i in recruit_config ) { recruit_config_info = recruit_config[ recruit_i ]; if( recruit_config_info.is_show === 0 ) { group_id = recruit_config_info.group_id; var recruit_data = this.getSummonProtoDataByGroupID( group_id ); group_item = {}; group_item.config_data = recruit_config[ recruit_i ]; group_item.recruit_data = recruit_data; group_item.group_id = recruit_config_info.group_id; group_data.push( group_item ); } } // 排序 function sortById( pro ) { return function( obj1, obj2 ) { var c_val1 = obj1.config_data[ pro ]; var c_val2 = obj2.config_data[ pro ]; if( c_val1 < c_val2 ) { return -1; } else { return 1 } return 0; } } var summon_group_data = group_data.sort( sortById( "sort_id" ) ); return summon_group_data }, getSummonProtoDataByGroupID: function( group_id ) { if( !group_id || !this.recruit_list ) return; var recruit_data = null; for( var recruit_i in this.recruit_list ) { recruit_data = this.recruit_list[ recruit_i ]; if( recruit_data.group_id === group_id ) { return recruit_data } } return null }, getScoreSummonNeedCount: function() { if( !game.configs.recruit_data ){ return; } var count = 0; var score_recruit_info = game.configs.recruit_data.data_partnersummon_data[ SummonDefine.Summon_Type.Score ]; if( score_recruit_info.exchange_once && score_recruit_info.exchange_once[ 0 ] ) { count = score_recruit_info.exchange_once[ 0 ][ 1 ]; } return count }, } );