"use strict"; cc._RF.push(module, '0943dp4vehAXarkETkg9uwC', 'endless_trail_model'); // Scripts/mod/endless_trail/endless_trail_model.js "use strict"; // -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 这里填写详细说明,主要填写该模块的功能简要 //
Create: 2019-03-04 21:12:18 // -------------------------------------------------------------------- var Endless_trailEvent = require("endless_trail_event"); var MainuiController = require("mainui_controller"); var MainuiConst = require("mainui_const"); var Endless_trailModel = cc.Class({ "extends": BaseClass, 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); 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); }, getEndlessBattleData: function getEndlessBattleData() { if (this.endless_battle_data) { return this.endless_battle_data; } }, // 获取前三个 getRaknRoleTopThreeList: function getRaknRoleTopThreeList() { var list = [{ rank: 1, name: Utils.TI18N("虚位以待") }, { rank: 2, name: Utils.TI18N("虚位以待") }, { rank: 3, name: Utils.TI18N("虚位以待") }]; 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 (Config.endless_data.data_first_data) { var temp_id = 0; for (var i in Config.endless_data.data_first_data) { var items = Config.endless_data.data_first_data[i].items; for (var j in items) { var bid = items[j][0]; if (!this.is_include(bid, this.first_item_list)) { this.first_item_list.push({ bid: bid, num: 1 }); } } } } } }, 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 (Config.endless_data.data_floor_data) { var temp_id = 0; for (var i in Config.endless_data.data_floor_data) { var items = Config.endless_data.data_floor_data[i].items; for (var j in items) { var bid = items[j][0]; if (!this.is_include(bid, this.five_item_list)) { this.five_item_list.push({ bid: bid, num: 1 }); } } } } } }, 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 (Config.endless_data.data_rank_reward_data) { var temp_id = 0; for (var i in Config.endless_data.data_rank_reward_data) { var items = Config.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() { RedMgr.getInstance().addCalHandler(this.checkRedPoint.bind(this), RedIds.Endless); }, // 红点判断 checkRedPoint: function checkRedPoint() { var is_open = MainuiController.getInstance().checkMainFunctionOpenStatus(MainuiConst.btn_index.esecsice, MainuiConst.function_type.main, true); if (is_open == null) return; // 先判断首通奖励是否领取 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); var SceneConst = require("scene_const"); MainuiController.getInstance().setBtnRedPoint(MainuiConst.btn_index.esecsice, { bid: SceneConst.RedPointType.endless, status: is_show_red }); }, // 获取首通红点状态 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 Config.EndlessData.data_first_data then // -- for i, v in ipairs(Config.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();