"use strict"; cc._RF.push(module, 'a6f6cwAUcBJA5bjNkBvfgpF', 'orderaction_model'); // Scripts/mod/orderaction/orderaction_model.js "use strict"; function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } // -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 战令数据处理模块 //
Create: 2019-08-10 16:19:12 // -------------------------------------------------------------------- var MainUIController = require("mainui_controller"); var OrderactionConst = require("orderaction_const"); var OrderactionModel = cc.Class({ "extends": BaseClass, ctor: function ctor() {}, properties: {}, initConfig: function initConfig() { this.initTaskData(); }, initTaskData: function initTaskData() { this.day_task_list = []; //每日任务 this.week_task_list = []; //每周任务 this.period_task_list = []; //周期任务 }, // 任务归类 setTaskInduct: function setTaskInduct(period, day, index) { if (index == 1) { var day_list = Config.holiday_war_order_data.data_day_task_list; if (day_list && day_list[period]) { for (var i in day_list[period]) { if (day_list[period][i].day == day) { this.day_task_list.push(day_list[period][i]); } } this.day_task_list.sort(function (a, b) { return a.goal_id - b.goal_id; }); } } else if (index == 2) { var week_list = Config.holiday_war_order_data.data_week_task_list; if (week_list && week_list[period]) { for (var i in week_list[period]) { if (day >= week_list[period][i].min_day && day <= week_list[period][i].max_day) { this.week_task_list.push(week_list[period][i]); } } this.week_task_list.sort(function (a, b) { return a.goal_id - b.goal_id; }); } } else if (index == 3) { var period_list = Config.holiday_war_order_data.data_period_task_list; if (period_list && period_list[period]) { for (var i in period_list[period]) { this.period_task_list.push(period_list[period][i]); } this.period_task_list.sort(function (a, b) { return a.goal_id - b.goal_id; }); } } }, getTaskInduct: function getTaskInduct(index) { var list; if (index == 1) { list = this.day_task_list; } else if (index == 2) { list = this.week_task_list; } else if (index == 3) { list = this.period_task_list; } if (list && Utils.next(list) != null) { return list; } return null; }, // 当前经验 setCurExp: function setCurExp(exp) { this.cur_exp = exp; }, getCurExp: function getCurExp() { if (this.cur_exp) { return this.cur_exp; } return 1; }, // 当前周期 setCurPeriod: function setCurPeriod(period) { this.cur_period = period; }, getCurPeriod: function getCurPeriod() { if (this.cur_period) { // 存在在线时0点更新的时候出现断线会有周期替换的周期数不正确,,这时要判断主城图标来判断周期数 var order_icon_2 = MainUIController.getInstance().getFunctionIconById(OrderactionConst.OrderActionEntranceID.entrance_id); if (order_icon_2) { this.cur_period = 1; } return this.cur_period; } return 1; }, // 当前天数 setCurDay: function setCurDay(day) { this.cur_day = day; }, getCurDay: function getCurDay() { if (this.cur_day != null) { return this.cur_day; } return 1; }, // 当前等级 setCurLev: function setCurLev(lev) { this.cur_lev = lev; }, getCurLev: function getCurLev() { if (this.cur_lev != null) { return this.cur_lev; } return 1; }, // 是否激活特权 setRMBStatus: function setRMBStatus(status) { this.rmb_status = status; }, getRMBStatus: function getRMBStatus() { if (this.rmb_status != null) { return this.rmb_status; } return 0; }, // 是否领取额外礼包 setExtraStatus: function setExtraStatus(status) { this.extra_status = status; }, getExtraStatus: function getExtraStatus() { if (this.extra_status != null) { return this.extra_status; } return 0; }, // 是否已购买礼包 setGiftStatus: function setGiftStatus(data) { if (data && Utils.next(data) == null) { this.gift_status = null; } if (this.gift_status != null && this.gift_status == 1) return 1; var charge_list = Config.charge_data.data_charge_data; var card_list = Config.holiday_war_order_data.data_advance_card_list; var period = this.getCurPeriod(); if (card_list && card_list[period] && card_list[period][1]) { var charge_id = card_list[period][1].id || null; if (charge_id) { for (var i in data) { if (charge_id == data[i].id) { this.gift_status = data[i].status; } } } } }, getGiftStatus: function getGiftStatus() { if (this.gift_status != null) { return this.gift_status; } return 0; }, // 等级奖励展示 setLevShowData: function setLevShowData(data) { this.lev_show_data = {}; for (var i in data) { this.lev_show_data[data[i].id] = data[i]; } this.setRewardLevRedPoint(); }, getLevShowData: function getLevShowData(lev) { if (this.lev_show_data && this.lev_show_data[lev]) { return this.lev_show_data[lev]; } return null; }, // 计算等级奖励的红点 setRewardLevRedPoint: function setRewardLevRedPoint() { var status = false; var reward_list = Config.holiday_war_order_data.data_lev_reward_list; var cur_lev = this.getCurLev(); var cur_period = this.getCurPeriod(); if (this.lev_show_data && reward_list[cur_period]) { for (var i in reward_list[cur_period]) { var v = reward_list[cur_period][i]; if (v.lev <= cur_lev) { var status1 = false; var data = this.getLevShowData(v.lev); if (data) { if (this.getRMBStatus() == 1) { if (data.rmb_status == 1 && data.status == 1) { status1 = false; } else { status1 = true; } } } else { if (reward_list[cur_period][v.lev] && reward_list[cur_period][v.lev].reward && reward_list[cur_period][v.lev].reward[1]) { status1 = true; } } if (status1 == true) { status = true; break; } } } } this.reward_red_point = status; this.setMainTipsStatus(OrderactionConst.OrderActionView.reward_panel, status); }, getRewardLevRedPoint: function getRewardLevRedPoint() { if (this.reward_red_point) { return this.reward_red_point; } return false; }, // 任务的 setInitTaskData: function setInitTaskData(data) { this.initConfig(); this.init_task_data = {}; for (var i in data) { this.init_task_data[data[i].id] = data[i]; } this.setTaskRedPoint(); }, getInitTaskData: function getInitTaskData(id) { if (this.init_task_data && this.init_task_data[id]) { return this.init_task_data[id]; } return null; }, // 任务更新 updataTeskData: function updataTeskData(data) { if (data && data.list) { for (var i in data.list) { if (this.init_task_data && this.init_task_data[data.list[i].id]) { this.init_task_data[data.list[i].id] = data.list[i]; } } } this.setTaskRedPoint(); }, // 计算任务的红点 setTaskRedPoint: function setTaskRedPoint() { var status = false; if (this.init_task_data) { for (var i in this.init_task_data) { if (this.init_task_data[i].finish == 1) { status = true; break; } } } this.task_red_point = status; var lev = this.getCurLev(); var rmb_status = this.getRMBStatus(); var conf = gdata("holiday_war_order_data", "data_constant", "war_order_levmax"); if (conf) { if (lev >= conf.val && rmb_status == 1) { status = false; } } this.setMainTipsStatus(OrderactionConst.OrderActionView.tesk_panel, status); }, getTaskRedPoint: function getTaskRedPoint() { if (this.task_red_point) { return this.task_red_point; } return false; }, // 主城红点 setMainTipsStatus: function setMainTipsStatus(id, status) { var num = 0; if (status) { num = 1; } var vo = { bid: id, num: num }; var main_id = OrderactionConst.OrderActionEntranceID.entrance_id; MainUIController.getInstance().setFunctionTipsStatus(main_id, vo); }, sortTeskItemList: function sortTeskItemList(list) { var _tempsort; var tempsort = (_tempsort = {}, _defineProperty(_tempsort, 0, 2), _defineProperty(_tempsort, 1, 1), _defineProperty(_tempsort, 2, 3), _tempsort); var sortFunc = function sortFunc(objA, objB) { if (objA.status != objB.status) { if (tempsort[objA.status] && tempsort[objB.status]) { return tempsort[objA.status] - tempsort[objB.status]; } else { return false; } } else { return objA.goal_id - objB.goal_id; } }; list.sort(sortFunc); } }); cc._RF.pop();