Files
fc/dev/project/library/imports/ad/adc1e63c-386e-4236-bf8f-00ae38d25d7b.js
2026-05-24 10:21:26 +08:00

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();