122 lines
4.2 KiB
JavaScript
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();
|