"use strict"; cc._RF.push(module, 'cd20cms6apHoo9solcOUhFv', 'voyage_model'); // Scripts/mod/voyage/voyage_model.js "use strict"; // -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 这里填写详细说明,主要填写该模块的功能简要 //
Create: 2019-03-06 20:33:19 // -------------------------------------------------------------------- var VoyageOrderVo = require("voyage_order_vo"); var VoyageConst = require("voyage_const"); var VoyageModel = cc.Class({ "extends": BaseClass, ctor: function ctor() {}, properties: {}, initConfig: function initConfig() { this.ctrl = require("voyage_controller").getInstance(); this.order_list = []; // 全部订单数据 this.free_times = 0; // 今日已经免费刷新次数 this.coin_times = 0; // 今日已经钻石刷新次数 }, //设置所有订单数据 setOrderList: function setOrderList(data) { this.order_list = []; for (var k in data) { var v = data[k]; var order_vo = new VoyageOrderVo(); order_vo.updateData(v); this.order_list.push(order_vo); } }, //获取所有订单数据 getAllOrderList: function getAllOrderList() { return this.order_list; }, //刷新某一订单数据 updateOneOrderData: function updateOneOrderData(data) { for (var k in this.order_list) { var v = this.order_list[k]; if (v.order_id == data.order_id) { v.updateData(data); break; } } }, //删除某一订单数据 deleteOneOrderData: function deleteOneOrderData(order_id) { for (var k in this.order_list) { var order_vo = this.order_list[k]; if (order_vo.order_id == order_id) { this.order_list.splice(k, 1); break; } } }, setFreeTimes: function setFreeTimes(times) { this.free_times = times; }, //获取今日已经免费刷新次数 getFreeTimes: function getFreeTimes() { return this.free_times; }, setCoinTimes: function setCoinTimes(times) { this.coin_times = times; }, //获取今日已经钻石刷新次数 getCoinTimes: function getCoinTimes() { return this.coin_times; }, //订单中是否有紫色(史诗)品质及以上的订单并且未接取 checkIsHaveHigherEpicOrder: function checkIsHaveHigherEpicOrder() { var is_have = false; for (var k in this.order_list) { var order_vo = this.order_list[k]; if (order_vo.status == VoyageConst.Order_Status.Unget && order_vo.config && order_vo.config.quality >= VoyageConst.Order_Rarity.Epic) { is_have = true; break; } } return is_have; }, //根据英雄id判断是否为任务中 checkHeroIsInTaskById: function checkHeroIsInTaskById(id) { var is_in = false; for (var k in this.order_list) { var order_vo = this.order_list[k]; if (order_vo.assign_ids) { for (var i in order_vo.assign_ids) { var assign = order_vo.assign_ids[i]; if (assign.partner_id && assign.partner_id == id) { is_in = true; break; } } } if (is_in) { break; } } return is_in; }, //根据订单剩余时间获取加速所需钻石数量 getQuickFinishNeedGoldByTime: function getQuickFinishNeedGoldByTime(lefttime) { var gold_num = 0; for (var k in Config.shipping_data.data_quick_cost) { var config = Config.shipping_data.data_quick_cost[k]; if (lefttime >= config.min && lefttime <= config.max) { gold_num = config.gold; } } return gold_num; }, //是否有订单缓存数据 checkIsHaveOrderData: function checkIsHaveOrderData() { return Utils.next(this.order_list) != null; }, //是否显示红点(是否有已完成的订单任务) checkVoyageRedStatus: function checkVoyageRedStatus() { var is_show_red = false; for (var k in this.order_list) { var order_vo = this.order_list[k]; if (order_vo.status == VoyageConst.Order_Status.Finish) { is_show_red = true; break; } } return is_show_red; }, //远航活动状态 setActivityStatus: function setActivityStatus(status) { this.activity_status = status; }, getActivityStatus: function getActivityStatus() { return this.activity_status || 0; }, //获取是否第一次提示特权 getFirstFresh: function getFirstFresh() { return this.is_first_fresh || false; }, setFirstFresh: function setFirstFresh(status) { this.is_first_fresh = status; } }); cc._RF.pop();