Files
fc/dev/project/library/imports/54/5404d92a-a3ff-4708-ae77-c897896f2c54.js
T
2026-05-24 10:21:26 +08:00

122 lines
4.2 KiB
JavaScript

"use strict";
cc._RF.push(module, '5404dkqo/9HCK53yJeJbyxU', 'summon.model');
// Scripts/mod/summon/summon.model.js
"use strict";
// --------------------------------------------------------------------
// @author: xxx@syg.com(必填, 创建模块的人员)
// @description:
// 这里填写详细说明,主要填写该模块的功能简要
// <br/>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();