Files
fc/dev/project/library/imports/cd/cd20c9ac-e9aa-47a2-8f6c-a2570e52116f.js
2026-05-24 10:21:26 +08:00

163 lines
5.0 KiB
JavaScript

"use strict";
cc._RF.push(module, 'cd20cms6apHoo9solcOUhFv', 'dispatch.model');
// Scripts/mod/home/dispatch/dispatch.model.js
"use strict";
// --------------------------------------------------------------------
// @author: xxx@syg.com(必填, 创建模块的人员)
// @description:
// 这里填写详细说明,主要填写该模块的功能简要
// <br/>Create: 2019-03-06 20:33:19
// --------------------------------------------------------------------
var BridgeClass = require("bridge.class");
var DispatchOrder = require("dispatch.order");
var DispatchConst = require("dispatch.const");
var DispatchModel = cc.Class({
"extends": BridgeClass,
ctor: function ctor() {},
properties: {},
initConfig: function initConfig() {
this.ctrl = require("dispatch.mod").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 DispatchOrder();
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;
}
}
},
deleteSomeOrderData: function deleteSomeOrderData(order_id_list) {
var len = this.order_list.length;
for (var i = 0; i < len; i++) {
for (var j = 0; j < this.order_list.length; j++) {
var order_vo = this.order_list[j];
for (var k = 0; k < order_id_list.length; k++) {
if (order_id_list[k].order_id == order_vo.order_id) {
this.order_list.splice(j, 1);
}
}
}
}
},
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 == DispatchConst.Order_Status.Unget && order_vo.config && order_vo.config.quality >= DispatchConst.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 game.configs.shipping_data.data_quick_cost) {
var config = game.configs.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 == DispatchConst.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();