// -------------------------------------------------------------------- // @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 () { }, properties: { }, initConfig: function () { this.ctrl = require("voyage_controller").getInstance(); this.order_list = [] // 全部订单数据 this.free_times = 0 // 今日已经免费刷新次数 this.coin_times = 0 // 今日已经钻石刷新次数 }, //设置所有订单数据 setOrderList: function (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 () { return this.order_list }, //刷新某一订单数据 updateOneOrderData: function (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 (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 (times) { this.free_times = times; }, //获取今日已经免费刷新次数 getFreeTimes: function () { return this.free_times }, setCoinTimes: function (times) { this.coin_times = times; }, //获取今日已经钻石刷新次数 getCoinTimes: function () { return this.coin_times }, //订单中是否有紫色(史诗)品质及以上的订单并且未接取 checkIsHaveHigherEpicOrder: function () { 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 (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 (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 () { return (Utils.next(this.order_list) != null) }, //是否显示红点(是否有已完成的订单任务) checkVoyageRedStatus: function () { 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 (status) { this.activity_status = status; }, getActivityStatus: function () { return this.activity_status || 0; }, //获取是否第一次提示特权 getFirstFresh: function () { return this.is_first_fresh || false }, setFirstFresh: function (status) { this.is_first_fresh = status; } });