278 lines
9.0 KiB
JavaScript
278 lines
9.0 KiB
JavaScript
"use strict";
|
|
cc._RF.push(module, '0943dp4vehAXarkETkg9uwC', 'endless_trail_model');
|
|
// Scripts/mod/pve/endless_trail/endless_trail_model.js
|
|
|
|
"use strict";
|
|
|
|
// --------------------------------------------------------------------
|
|
// @author: xxx@syg.com(必填, 创建模块的人员)
|
|
// @description:
|
|
// 这里填写详细说明,主要填写该模块的功能简要
|
|
// <br/>Create: 2019-03-04 21:12:18
|
|
// --------------------------------------------------------------------
|
|
var BridgeClass = require("bridge.class");
|
|
var Endless_trailEvent = require("endless_trail_event");
|
|
var Endless_trailModel = cc.Class({
|
|
"extends": BridgeClass,
|
|
ctor: function ctor() {},
|
|
properties: {},
|
|
initConfig: function initConfig() {
|
|
this.role_rank_list = {};
|
|
this.first_item_list = [];
|
|
this.five_item_list = [];
|
|
this.rank_item_list = [];
|
|
this.endless_data = {};
|
|
this.first_data = {};
|
|
this.send_partner = {};
|
|
this.hire_partner_list = {};
|
|
this.has_hire_partner_list = {}; //已雇佣的
|
|
this.is_first_get = false;
|
|
this.is_award_get = false;
|
|
this.is_send_partner = false;
|
|
this.endless_battle_data = null;
|
|
// this.getFirstKindList()
|
|
// this.getFiveKindList()
|
|
// this.getRankKindList()
|
|
},
|
|
|
|
// 设置无尽试炼基础信息
|
|
setEndlessData: function setEndlessData(data) {
|
|
if (data) {
|
|
this.endless_data = data;
|
|
this.updateRedPoint();
|
|
gcore.GlobalEvent.fire(Endless_trailEvent.UPDATA_BASE_DATA, data);
|
|
}
|
|
},
|
|
// 获取无尽试炼基础信息
|
|
getEndlessData: function getEndlessData() {
|
|
if (this.endless_data && Utils.next(this.endless_data || {}) != null) {
|
|
return this.endless_data;
|
|
}
|
|
},
|
|
// 设置首通奖励展示
|
|
setFirstData: function setFirstData(data) {
|
|
if (data) {
|
|
this.first_data = data;
|
|
this.updateRedPoint();
|
|
gcore.GlobalEvent.fire(Endless_trailEvent.UPDATA_FIRST_DATA, data);
|
|
}
|
|
},
|
|
// 获取首通奖励
|
|
getFirstData: function getFirstData() {
|
|
if (this.first_data && Utils.next(this.first_data || {}) != null) {
|
|
return this.first_data;
|
|
}
|
|
},
|
|
// 已派遣的伙伴信息
|
|
setSendPartnerData: function setSendPartnerData(data) {
|
|
this.send_partner = data;
|
|
gcore.GlobalEvent.fire(Endless_trailEvent.UPDATA_SENDPARTNER_DATA, data);
|
|
gcore.GlobalEvent.fire(Endless_trailEvent.UPDATE_SEND_MAIN_DATA, data);
|
|
this.updateRedPoint();
|
|
},
|
|
getSendPartnerData: function getSendPartnerData() {
|
|
if (this.send_partner && Utils.next(this.send_partner || {}) != null) {
|
|
return this.send_partner;
|
|
}
|
|
},
|
|
// 可雇佣伙伴的信息
|
|
setHirePartnerData: function setHirePartnerData(data) {
|
|
this.hire_partner_list = data;
|
|
gcore.GlobalEvent.fire(Endless_trailEvent.UPDATA_HIREPARNER_DATA, data);
|
|
},
|
|
getHirePartnerData: function getHirePartnerData() {
|
|
if (this.hire_partner_list && Utils.next(this.hire_partner_list || {}) != null) {
|
|
return this.hire_partner_list;
|
|
}
|
|
},
|
|
// 已雇佣的伙伴列表
|
|
setHasHirePartnerData: function setHasHirePartnerData(data) {
|
|
this.has_hire_partner_list = data;
|
|
gcore.GlobalEvent.fire(Endless_trailEvent.UPDATA_HASHIREPARNER_DATA, data);
|
|
},
|
|
getHasHirePartnerData: function getHasHirePartnerData() {
|
|
if (this.has_hire_partner_list && Utils.next(this.has_hire_partner_list || {}) != null) {
|
|
return this.has_hire_partner_list;
|
|
}
|
|
},
|
|
setEndlessBattleData: function setEndlessBattleData(data) {
|
|
this.endless_battle_data = data;
|
|
gcore.GlobalEvent.fire(Endless_trailEvent.UPDATA_ENDLESSBATTLE_DATA, data);
|
|
},
|
|
sendEndlessBattleData: function sendEndlessBattleData() {
|
|
gcore.GlobalEvent.fire(Endless_trailEvent.UPDATA_ENDLESSBATTLE_DATA, this.endless_battle_data);
|
|
},
|
|
getEndlessBattleData: function getEndlessBattleData() {
|
|
if (this.endless_battle_data) {
|
|
return this.endless_battle_data;
|
|
}
|
|
},
|
|
// 获取前三个
|
|
getRaknRoleTopThreeList: function getRaknRoleTopThreeList() {
|
|
var list = [{
|
|
rank: 1,
|
|
name: nx.text.getKey("lab_arena_loop_rank_sit_tip")
|
|
}, {
|
|
rank: 2,
|
|
name: nx.text.getKey("lab_arena_loop_rank_sit_tip")
|
|
}, {
|
|
rank: 3,
|
|
name: nx.text.getKey("lab_arena_loop_rank_sit_tip")
|
|
}];
|
|
if (this.endless_data.rank_list && Utils.next(this.endless_data.rank_list || {}) != null) {
|
|
var rank_list = this.endless_data.rank_list;
|
|
for (var i in rank_list) {
|
|
for (var j in list) {
|
|
if (rank_list[i].idx == list[j].rank) {
|
|
list[j] = rank_list[i];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return list;
|
|
},
|
|
// 获取首通奖励种类
|
|
getFirstKindList: function getFirstKindList() {
|
|
if (Utils.next(this.first_item_list || []) == null) {
|
|
if (game.configs.endless_data.data_first_data) {
|
|
var temp_id = 0;
|
|
for (var i in game.configs.endless_data.data_first_data) {
|
|
var items = game.configs.endless_data.data_first_data[i];
|
|
// for(var j in items){
|
|
// var bid = items[j][0];
|
|
// if(!this.is_include(bid,this.first_item_list)){
|
|
this.first_item_list.push(items);
|
|
// }
|
|
// }
|
|
}
|
|
}
|
|
}
|
|
},
|
|
|
|
getFirstList: function getFirstList() {
|
|
if (this.first_item_list) {
|
|
return this.first_item_list;
|
|
}
|
|
},
|
|
// 获取5次的奖励
|
|
getFiveKindList: function getFiveKindList() {
|
|
if (Utils.next(this.five_item_list || []) == null) {
|
|
if (game.configs.endless_data.data_floor_data) {
|
|
var temp_id = 0;
|
|
for (var i in game.configs.endless_data.data_floor_data) {
|
|
var items = game.configs.endless_data.data_floor_data[i];
|
|
// for(var j in items){
|
|
// var bid = items[j][0];
|
|
// if(!this.is_include(bid, this.five_item_list)){
|
|
this.five_item_list.push(items);
|
|
// }
|
|
// }
|
|
}
|
|
}
|
|
}
|
|
},
|
|
|
|
getFiveList: function getFiveList() {
|
|
if (this.five_item_list) {
|
|
return this.five_item_list;
|
|
}
|
|
},
|
|
// 排行种类获取
|
|
getRankKindList: function getRankKindList() {
|
|
if (Utils.next(this.rank_item_list || []) == null) {
|
|
if (game.configs.endless_data.data_rank_reward_data) {
|
|
var temp_id = 0;
|
|
for (var i in game.configs.endless_data.data_rank_reward_data) {
|
|
var items = game.configs.endless_data.data_rank_reward_data[i].items;
|
|
for (var j in items) {
|
|
var bid = items[j][0];
|
|
if (!this.is_include(bid, this.rank_item_list)) {
|
|
this.rank_item_list.push({
|
|
bid: bid,
|
|
num: 1
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
updateRedPoint: function updateRedPoint() {
|
|
//更新红点
|
|
},
|
|
// 红点判断
|
|
checkRedPoint: function checkRedPoint() {
|
|
// 先判断首通奖励是否领取
|
|
if (this.first_data) {
|
|
if (this.first_data.status == 1) {
|
|
this.is_first_get = true;
|
|
} else {
|
|
this.is_first_get = false;
|
|
}
|
|
gcore.GlobalEvent.fire(Endless_trailEvent.UPDATA_REDPOINT_FIRST_DATA, this.is_first_get);
|
|
}
|
|
// 再判断是否已获所有日常奖励结算
|
|
if (this.endless_data) {
|
|
if (this.endless_data.is_reward != 1) {
|
|
this.is_award_get = true;
|
|
} else {
|
|
this.is_award_get = false;
|
|
}
|
|
gcore.GlobalEvent.fire(Endless_trailEvent.UPDATA_REDPOINT_REWARD_DATA, this.is_award_get);
|
|
}
|
|
// 再判断是否已上阵
|
|
if (this.endless_data) {
|
|
if (this.endless_data.is_appoint == 0 && this.send_partner && Utils.next(this.send_partner.list || {}) == null) {
|
|
//没派出
|
|
this.is_send_partner = true;
|
|
} else {
|
|
this.is_send_partner = false;
|
|
}
|
|
}
|
|
var is_show_red = this.is_first_get || this.is_award_get || this.is_send_partner;
|
|
// 设置入口红点
|
|
gcore.GlobalEvent.fire(Endless_trailEvent.UPDATA_REDPOINT_SENDPARTNER_DATA, this.is_send_partner);
|
|
gcore.GlobalEvent.fire(Endless_trailEvent.UPDATA_ESECSICE_ENDLESS_REDPOINT);
|
|
},
|
|
// 获取首通红点状态
|
|
getFirstGet: function getFirstGet() {
|
|
return this.is_first_get;
|
|
},
|
|
// 获取是否已经派遣伙伴
|
|
getIsSendPartner: function getIsSendPartner() {
|
|
return this.is_send_partner;
|
|
},
|
|
// 获取是否已获所有日常奖励结算
|
|
getIsGetAllReward: function getIsGetAllReward() {
|
|
return this.is_award_get;
|
|
},
|
|
checkRedStatus: function checkRedStatus() {
|
|
return this.is_first_get || this.is_send_partner || this.is_award_get;
|
|
},
|
|
// -- --根据当前通关获取临近的可以领取奖励
|
|
// -- function Endless_trailModel:getNearFirstRewardByID(id)
|
|
// -- if game.configs.EndlessData.data_first_data then
|
|
// -- for i, v in ipairs(game.configs.EndlessData.data_first_data) do
|
|
// -- if id == v.id then
|
|
// -- return v
|
|
// -- end
|
|
// -- end
|
|
// -- end
|
|
// -- end
|
|
|
|
getRankList: function getRankList() {
|
|
if (this.rank_item_list) {
|
|
return this.rank_item_list;
|
|
}
|
|
},
|
|
is_include: function is_include(value, list) {
|
|
for (var i in list) {
|
|
if (list[i].bid == value) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
});
|
|
|
|
cc._RF.pop(); |