362 lines
11 KiB
JavaScript
362 lines
11 KiB
JavaScript
|
|
"use strict";
|
||
|
|
cc._RF.push(module, 'adc1eY8OG5CNr+PAK440l17', 'act.training7.mod');
|
||
|
|
// Scripts/mod/acts/training7/act.training7.mod.js
|
||
|
|
|
||
|
|
"use strict";
|
||
|
|
|
||
|
|
/*******************************************************************************
|
||
|
|
*
|
||
|
|
* 活动: 七日特训
|
||
|
|
*
|
||
|
|
*
|
||
|
|
******************************************************************************/
|
||
|
|
|
||
|
|
var ActBase = require("act.base");
|
||
|
|
var ActDefine = require("acts.define");
|
||
|
|
var ActEvt = require("action_event");
|
||
|
|
var ActDay7 = cc.Class({
|
||
|
|
"extends": ActBase,
|
||
|
|
// 初始化配置数据
|
||
|
|
initConfig: function initConfig() {
|
||
|
|
|
||
|
|
// 视图附着
|
||
|
|
// this.vattach( ActDefine.ViewActs );
|
||
|
|
},
|
||
|
|
// 注册协议接受事件
|
||
|
|
registerProtocals: function registerProtocals() {
|
||
|
|
// 前端准备完毕
|
||
|
|
// 七天目标
|
||
|
|
this.RegisterProtocal(13601, this.handle13601.bind(this)); //數據初始化
|
||
|
|
this.RegisterProtocal(13602, this.handle13602.bind(this)); //領獎
|
||
|
|
},
|
||
|
|
|
||
|
|
// 从服务器初始化数据
|
||
|
|
reqBaseFromServer: function reqBaseFromServer(_cb) {
|
||
|
|
var _this = this;
|
||
|
|
// 配置加载
|
||
|
|
var cfgs = ["day_goals_data"];
|
||
|
|
this.loadConfigs(cfgs, function (_ret, _data) {
|
||
|
|
_this.reqBaseData(_cb);
|
||
|
|
});
|
||
|
|
},
|
||
|
|
// 请求剧情信息
|
||
|
|
reqBaseData: function reqBaseData(_cb) {
|
||
|
|
this.SendProtocal(13601, {}, _cb);
|
||
|
|
},
|
||
|
|
sender13601: function sender13601() {
|
||
|
|
this.SendProtocal(13601, {});
|
||
|
|
},
|
||
|
|
handle13601: function handle13601(data) {
|
||
|
|
if (data.period == 0) return;
|
||
|
|
this.setCurDay(data.cur_day);
|
||
|
|
this.setSevenGoldPeriod(data.period || 1);
|
||
|
|
this.initSevenWalfare(data.period || 1);
|
||
|
|
this.setSevenGoalWelfareList(data.welfare_list);
|
||
|
|
this.setSevenGoalGrowList(data.grow_list);
|
||
|
|
this.setHalfGiftList(data.price_list);
|
||
|
|
this.setSevenGoalBoxList(data.finish_list, data.num);
|
||
|
|
this.setLastScore(data.num);
|
||
|
|
gcore.GlobalEvent.fire(ActEvt.UPDATE_SEVENT_GOAL, data);
|
||
|
|
},
|
||
|
|
// 请求七日活动领取
|
||
|
|
sender13602: function sender13602(type, day, id, item) {
|
||
|
|
var protocal = {};
|
||
|
|
protocal.type = type;
|
||
|
|
protocal.day_type = day;
|
||
|
|
protocal.id = id;
|
||
|
|
protocal.item = item;
|
||
|
|
this.SendProtocal(13602, protocal);
|
||
|
|
},
|
||
|
|
handle13602: function handle13602(data) {
|
||
|
|
if (data.flag == 1) {
|
||
|
|
if (data.type == 5) {
|
||
|
|
this.updataBoxListData(data.id - 1, data.status);
|
||
|
|
}
|
||
|
|
gcore.GlobalEvent.fire(ActEvt.UPDATE_SEVENT_GET, data);
|
||
|
|
} else {
|
||
|
|
nx.tbox(data.msg);
|
||
|
|
}
|
||
|
|
},
|
||
|
|
// ============================================================
|
||
|
|
// 數據處理
|
||
|
|
// ============================================================
|
||
|
|
setCurDay: function setCurDay(day) {
|
||
|
|
this.cur_day = day || 1;
|
||
|
|
},
|
||
|
|
getCurDay: function getCurDay() {
|
||
|
|
return this.cur_day;
|
||
|
|
},
|
||
|
|
// 获取七日目标的周期数
|
||
|
|
setSevenGoldPeriod: function setSevenGoldPeriod(period) {
|
||
|
|
nx.bridge.acts.vset("sevenPeriod", period);
|
||
|
|
},
|
||
|
|
getSevenGoldPeriod: function getSevenGoldPeriod() {
|
||
|
|
return nx.bridge.acts.vget("sevenPeriod");
|
||
|
|
},
|
||
|
|
initSevenWalfare: function initSevenWalfare(index) {
|
||
|
|
this.setWalfareData(index);
|
||
|
|
this.setWalfareGrowUpData(index);
|
||
|
|
this.setHalfGiftData(index);
|
||
|
|
this.setBoxRewardData(index);
|
||
|
|
},
|
||
|
|
// 宝箱
|
||
|
|
setBoxRewardData: function setBoxRewardData(index) {
|
||
|
|
var data = game.configs.day_goals_data.data_all_target[index];
|
||
|
|
var list = [];
|
||
|
|
for (var i in data) {
|
||
|
|
list.push(data[i][0]);
|
||
|
|
}
|
||
|
|
list.sort(function (a, b) {
|
||
|
|
return a.id - b.id;
|
||
|
|
});
|
||
|
|
nx.bridge.acts.vset("boxRewards", list);
|
||
|
|
},
|
||
|
|
getBoxRewardData: function getBoxRewardData() {
|
||
|
|
return nx.bridge.acts.vget("boxRewards") || [];
|
||
|
|
},
|
||
|
|
// 福利
|
||
|
|
setWalfareData: function setWalfareData(index) {
|
||
|
|
var data = game.configs.day_goals_data.data_welfarecollection[index];
|
||
|
|
this.welfareData = data;
|
||
|
|
},
|
||
|
|
// 成长目标
|
||
|
|
setWalfareGrowUpData: function setWalfareGrowUpData(index) {
|
||
|
|
var data = game.configs.day_goals_data.data_growthtarget[index];
|
||
|
|
this.welfareGrowData = [];
|
||
|
|
// this.welfareGiftData = [];
|
||
|
|
for (var i in data) {
|
||
|
|
var tab = [];
|
||
|
|
// var tab1 = [];
|
||
|
|
for (var k in data[i]) {
|
||
|
|
tab.push(data[i][k]);
|
||
|
|
// if(data[i][k].target_type == 1){
|
||
|
|
// tab.push(data[i][k]);
|
||
|
|
// }else if(data[i][k].target_type == 2){
|
||
|
|
// tab1.push(data[i][k]);
|
||
|
|
// }
|
||
|
|
}
|
||
|
|
|
||
|
|
this.welfareGrowData.push(tab);
|
||
|
|
// this.welfareGiftData.push(tab1);
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
// 福利礼包
|
||
|
|
setHalfGiftData: function setHalfGiftData(index) {
|
||
|
|
var data = game.configs.day_goals_data.data_halfdiscount[index];
|
||
|
|
this.walfareHalfData = [];
|
||
|
|
for (var i = 1; i <= 7; i++) {
|
||
|
|
this.walfareHalfData[i] = [];
|
||
|
|
}
|
||
|
|
for (var i in data) {
|
||
|
|
this.walfareHalfData[data[i][0].day].push(data[i][0]);
|
||
|
|
}
|
||
|
|
for (var i = 1; i <= 7; i++) {
|
||
|
|
this.walfareHalfData[i].sort(function (a, b) {
|
||
|
|
return a.id - b.id;
|
||
|
|
});
|
||
|
|
}
|
||
|
|
},
|
||
|
|
getWalfareData: function getWalfareData(day) {
|
||
|
|
if (!this.welfareData) return;
|
||
|
|
return this.welfareData[day] || [];
|
||
|
|
},
|
||
|
|
getWalfareGrowUpData: function getWalfareGrowUpData(day) {
|
||
|
|
if (!this.welfareGrowData) return;
|
||
|
|
return this.welfareGrowData[day] || [];
|
||
|
|
},
|
||
|
|
getWelfareGiftData: function getWelfareGiftData(day) {
|
||
|
|
if (!this.welfareGiftData) return;
|
||
|
|
return this.welfareGiftData[day] || [];
|
||
|
|
},
|
||
|
|
getWelfareHalfData: function getWelfareHalfData(day) {
|
||
|
|
if (this.walfareHalfData && this.walfareHalfData[day]) {
|
||
|
|
return this.walfareHalfData[day] || [];
|
||
|
|
}
|
||
|
|
},
|
||
|
|
setLastScore: function setLastScore(num) {
|
||
|
|
this.last_score = num;
|
||
|
|
},
|
||
|
|
getLastScore: function getLastScore() {
|
||
|
|
return this.last_score || 0;
|
||
|
|
},
|
||
|
|
// 七天目标的福利领取
|
||
|
|
setSevenGoalWelfareList: function setSevenGoalWelfareList(data) {
|
||
|
|
this.welfareList = [];
|
||
|
|
for (var i = 1; i <= 7; i++) {
|
||
|
|
this.welfareList[i] = [];
|
||
|
|
}
|
||
|
|
for (var i in data) {
|
||
|
|
this.welfareList[data[i].day].push(data[i]);
|
||
|
|
}
|
||
|
|
this.freshTips();
|
||
|
|
},
|
||
|
|
getSevenGoalWelfareList: function getSevenGoalWelfareList(day) {
|
||
|
|
if (!this.welfareList) return;
|
||
|
|
return this.welfareList[day] || [];
|
||
|
|
},
|
||
|
|
// 更新数据
|
||
|
|
updataGoalWelfareList: function updataGoalWelfareList(day, index, status) {
|
||
|
|
this.welfareList[day][index].status = status;
|
||
|
|
this.freshTips();
|
||
|
|
},
|
||
|
|
// 七天目标的成长目标
|
||
|
|
setSevenGoalGrowList: function setSevenGoalGrowList(data) {
|
||
|
|
var grow_list = [];
|
||
|
|
for (var i = 1; i <= 7; i++) {
|
||
|
|
grow_list[i] = [];
|
||
|
|
}
|
||
|
|
for (var i in data) {
|
||
|
|
grow_list[data[i].day].push(data[i]);
|
||
|
|
}
|
||
|
|
this.serverGrowListData = [];
|
||
|
|
// this.serverGiftListData = [];
|
||
|
|
for (var i in grow_list) {
|
||
|
|
var tab = [];
|
||
|
|
// var tab1 = [];
|
||
|
|
for (var k in grow_list[i]) {
|
||
|
|
tab.push(grow_list[i][k]);
|
||
|
|
// if(grow_list[i][k].target_type == 1){
|
||
|
|
// tab.push(grow_list[i][k]);
|
||
|
|
// }else if(grow_list[i][k].target_type == 2){
|
||
|
|
// tab1.push(grow_list[i][k]);
|
||
|
|
// }
|
||
|
|
}
|
||
|
|
|
||
|
|
this.serverGrowListData.push(tab);
|
||
|
|
// this.serverGiftListData.push(tab1);
|
||
|
|
}
|
||
|
|
|
||
|
|
this.freshTips();
|
||
|
|
},
|
||
|
|
getServerGrowListData: function getServerGrowListData(day) {
|
||
|
|
if (this.serverGrowListData && this.serverGrowListData[day]) {
|
||
|
|
return this.serverGrowListData[day] || [];
|
||
|
|
}
|
||
|
|
return [];
|
||
|
|
},
|
||
|
|
// 更新数据
|
||
|
|
updataGrowListData: function updataGrowListData(day, index, status) {
|
||
|
|
this.serverGrowListData[day][index].status = status;
|
||
|
|
this.freshTips();
|
||
|
|
},
|
||
|
|
// getServerGiftListData:function(day){
|
||
|
|
// if(!this.serverGiftListData)return;
|
||
|
|
// return this.serverGiftListData[day] || [];
|
||
|
|
// },
|
||
|
|
|
||
|
|
// // 更新数据
|
||
|
|
// updataGiftListData:function(day, index, status){
|
||
|
|
// this.serverGiftListData[day][index].status = status;
|
||
|
|
// },
|
||
|
|
|
||
|
|
// 福利礼包礼包购买
|
||
|
|
setHalfGiftList: function setHalfGiftList(data) {
|
||
|
|
this.halfGiftList = [];
|
||
|
|
for (var i = 1; i <= 7; i++) {
|
||
|
|
this.halfGiftList[i] = [];
|
||
|
|
}
|
||
|
|
for (var i = 1; i <= 7; i++) {
|
||
|
|
var half_list = this.getWelfareHalfData(i);
|
||
|
|
for (var k in half_list) {
|
||
|
|
for (var b in data) {
|
||
|
|
if (half_list[k].id == data[b].day) {
|
||
|
|
this.halfGiftList[i].push(data[b]);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
getHalfGiftList: function getHalfGiftList(day) {
|
||
|
|
if (this.halfGiftList && this.halfGiftList[day]) {
|
||
|
|
return this.halfGiftList[day] || [];
|
||
|
|
}
|
||
|
|
},
|
||
|
|
// 更新数据
|
||
|
|
updataHalfListData: function updataHalfListData(day, index, status) {
|
||
|
|
this.halfGiftList[day][index].status = status;
|
||
|
|
},
|
||
|
|
// 活跃宝箱
|
||
|
|
setSevenGoalBoxList: function setSevenGoalBoxList(data) {
|
||
|
|
this.boxList = data;
|
||
|
|
},
|
||
|
|
getSevenGoalBoxList: function getSevenGoalBoxList() {
|
||
|
|
if (!this.boxList) return;
|
||
|
|
this.boxList.sort(Utils.tableLowerSorter(["goal_id"]));
|
||
|
|
return this.boxList || [];
|
||
|
|
},
|
||
|
|
// 更新数据
|
||
|
|
updataBoxListData: function updataBoxListData(index, status) {
|
||
|
|
this.boxList[index].status = status;
|
||
|
|
},
|
||
|
|
sortItemList: function sortItemList(list) {
|
||
|
|
var _tempsort;
|
||
|
|
var tempsort = (_tempsort = {}, _tempsort[0] = 2, _tempsort[1] = 1, _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 -1;
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
return objA.aim - objB.aim;
|
||
|
|
}
|
||
|
|
};
|
||
|
|
list.sort(sortFunc);
|
||
|
|
},
|
||
|
|
// ============================================================
|
||
|
|
// 活动红点提示
|
||
|
|
// ============================================================
|
||
|
|
|
||
|
|
// 活动用到的提示KEY
|
||
|
|
tipKeys: function tipKeys() {
|
||
|
|
return ["day1", "day2", "day3", "day4", "day5", "day6", "day7"];
|
||
|
|
},
|
||
|
|
freshTips: function freshTips() {
|
||
|
|
var list1 = this.serverGrowListData;
|
||
|
|
for (var day in list1) {
|
||
|
|
if (Number(day) < this.getCurDay()) {
|
||
|
|
var arr = list1[day];
|
||
|
|
var is_open = false;
|
||
|
|
for (var i = 0; i < arr.length; i++) {
|
||
|
|
var data = arr[i];
|
||
|
|
if (data.status == 1) {
|
||
|
|
is_open = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (!is_open) {
|
||
|
|
this.openTip(this.tipKeys()[day], false);
|
||
|
|
} else {
|
||
|
|
this.openTip(this.tipKeys()[day], true);
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
this.openTip(this.tipKeys()[day], false);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// let list2 = this.welfareList;
|
||
|
|
// for(let day in list2){
|
||
|
|
// let arr = list2[day];
|
||
|
|
// if(arr.length > 0){
|
||
|
|
// let is_reward = false;
|
||
|
|
// for(let i = 0;i < arr.length;i++){
|
||
|
|
// let data = arr[i];
|
||
|
|
// if(data.status == 1){
|
||
|
|
// is_reward = true;
|
||
|
|
// }
|
||
|
|
// }
|
||
|
|
// if(!is_reward){
|
||
|
|
// this.openTip( this.tipKeys()[day], false );
|
||
|
|
// }else{
|
||
|
|
// this.openTip( this.tipKeys()[day], true );
|
||
|
|
// }
|
||
|
|
// }
|
||
|
|
// }
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
// 模块导出
|
||
|
|
module.exports = ActDay7;
|
||
|
|
|
||
|
|
cc._RF.pop();
|