Files
fc/dev/project/library/imports/09/0943da78-bde8-405d-aae4-113920f6ec02.js
T

278 lines
9.0 KiB
JavaScript
Raw Normal View History

2026-05-24 10:21:26 +08:00
"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();