"use strict"; cc._RF.push(module, '5404dkqo/9HCK53yJeJbyxU', 'summon.model'); // Scripts/mod/summon/summon.model.js "use strict"; // -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 这里填写详细说明,主要填写该模块的功能简要 //
Create: {DATE} // -------------------------------------------------------------------- var BridgeClass = require("bridge.class"); var SummonDefine = require("summon.define"); var PartnersummonModel = cc.Class({ "extends": BridgeClass, ctor: function ctor() {}, properties: { recruit_list: null, // 卡库的数据 recruit_data: null, // 召唤结果 had_open_view: false }, initConfig: function initConfig() {}, setSummonData: function setSummonData(summon_data) { if (!summon_data) return; this.recruit_list = summon_data.recruit_list; this.setShareData(summon_data); this.updateRecruitData(); }, // 更新免费召唤次数、下次免费时间 updateSummonData: function updateSummonData(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 setRecruitData(recruit_data) { this.recruit_data = recruit_data; }, getRecruitData: function getRecruitData() { return this.recruit_data; }, setShareData: function setShareData(data) {}, updateRecruitData: function updateRecruitData(data_list) {}, // 获取卡库数据 getSummonGroupData: function getSummonGroupData() { 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 getSummonProtoDataByGroupID(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 getScoreSummonNeedCount() { 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; } }); cc._RF.pop();