修改通行证

This commit is contained in:
huanghaipeng 2025-11-11 17:57:47 +08:00
parent 712a5e5481
commit a3f0d2b006
8 changed files with 1380 additions and 3435 deletions

File diff suppressed because it is too large Load Diff

View File

@ -49,8 +49,8 @@ export default class JiaZai extends cc.Component {
@property(cc.EditBox)
custom: cc.EditBox = null;
@property(cc.EditBox)
activateEdBox: cc.EditBox = null;
// @property(cc.EditBox)
// activateEdBox: cc.EditBox = null;
@property({ type: [cc.SpriteAtlas], tooltip: "方块颜色" })
Block_Color: Array<cc.SpriteAtlas> = [];
@ -236,10 +236,9 @@ export default class JiaZai extends cc.Component {
}
JiaZai.cachedPassCheckPrefab = prefab;
//等级大于21开启
if (cc.fx.GameConfig.GM_INFO.level >= 20) {
if (cc.fx.GameConfig.GM_INFO.level >= 21) {
let top = this.node.getChildByName("Load").getChildByName("Top");
top.getChildByName("passBtn").active = true;
this.popUpPassCheck()
};
});
@ -281,6 +280,8 @@ export default class JiaZai extends cc.Component {
//console.log("音乐开关", cc.fx.GameConfig.GM_INFO.musicOpen);
AudioManager._instance.playMusicGame();
// 从房间出来判断是否弹出通行证
this.popUpPassCheck();
this.onGames();
}
@ -414,9 +415,25 @@ export default class JiaZai extends cc.Component {
this.monthH();
}
};
if (cc.fx.GameConfig.GM_INFO.level >= 20) {
if (cc.fx.GameConfig.GM_INFO.level >= 21) {
let top = this.node.getChildByName("Load").getChildByName("Top");
top.getChildByName("passBtn").active = true;
let xinshouNode = this.Stamina.parent.getChildByName("xinshou");
if (xinshouNode) {
xinshouNode.y = -950;
// 强制刷新节点的变换
xinshouNode.setPosition(xinshouNode.x, -950);
}
} else {
let top = this.node.getChildByName("Load").getChildByName("Top");
top.getChildByName("passBtn").active = false;
let xinshouNode = this.Stamina.parent.getChildByName("xinshou");
if (xinshouNode) {
xinshouNode.y = -710;
// 强制刷新节点的变换
xinshouNode.setPosition(xinshouNode.x, -710);
}
};
if (cc.fx.GameConfig.GM_INFO.level >= 17) {
let top = this.node.getChildByName("Load").getChildByName("Top");
@ -1860,18 +1877,19 @@ export default class JiaZai extends cc.Component {
}
popUpPassCheck() {
if (cc.fx.GameConfig.GM_INFO.openNewMode) {
console.log("弹出通行证", cc.fx.GameConfig.GM_INFO.popPassCheck)
if (cc.fx.GameConfig.GM_INFO.popPassCheck) {
let date = new Date();
let day = date.getDate(); // 当前日期1-31
let month = date.getMonth() + 1; // 当前月份1-12
let year = date.getFullYear(); // 当前年份
let dateStr = `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')}`; // 格式化为 YYYY-MM-DD
// 从缓存中获取上次弹窗的日期
let cachedDateStr = cc.fx.StorageMessage.getStorage("CACHE_PASS_CHECK_DATE");
let cachedDateStr = cc.fx.StorageMessage.getStorage("CACHE_PASS_CHECK");
// 如果缓存中的日期和当前日期不一致
if (cachedDateStr !== dateStr) {
// 更新缓存
cc.fx.StorageMessage.setStorage("CACHE_PASS_CHECK_DATE", dateStr);
cc.fx.StorageMessage.setStorage("CACHE_PASS_CHECK", dateStr);
this.openPassCheck();
}
}
@ -1895,9 +1913,39 @@ export default class JiaZai extends cc.Component {
console.log("解析后的 progressLevel:", passCheck[2].activate);
} catch (e) {
console.error("JSON 解析失败:", e);
let endTiem = data.data.time + 5 * 60 * 1000;
let passCheckData = {
1: {
time: "0",
progress: 0,
progressLevel: 0,
activate: false,
free: [],
passCheck: [],
},
2: {
time: endTiem.toString(),
progress: 0,
progressLevel: 1,
activate: false,
free: [1],
passCheck: [1],
}
}
cc.fx.GameConfig.GM_INFO.getProgress = 0;
cc.fx.GameConfig.GM_INFO.getProgressLevel = 1;
Utils.setPassCheckInfo((result) => {
if (result.code === 1) {
// console.log("GameScene 保存通行证成功");
this.openPassCheck();
} else {
// console.log("GameScene 保存通行证失败", result);
}
}, passCheckData);
return;
}
}
console.log("passCheck:", passCheck.time, Number(passCheck[2].time), passCheck.time > Number(passCheck[2].time));
// console.log("passCheck:", passCheck.time, Number(passCheck[2].time), passCheck.time > Number(passCheck[2].time));
if (passCheck.time > Number(passCheck[2].time)) {
this.checkAndSetPlayerPassLevel();
}
@ -1933,29 +1981,12 @@ export default class JiaZai extends cc.Component {
let passCheck = null;
Utils.setPassCheckInfo(() => {
console.log("清空通行证", null);
// cc.fx.GameConfig.GM_INFO.playerPassLevel = 0;
cc.fx.GameConfig.GM_INFO.playerPassLevel = 0;
cc.fx.StorageMessage.setStorage("ProgressIndex", 0);
this.checkAndSetPlayerPassLevel()
}, passCheck)
}
gengxindianshu() {
let shuju = parseInt(this.activateEdBox.string)
for (let i = 0; i < shuju; i++) {
setTimeout(() => {
if (i == shuju - 1) {
console.log("最后一次更新进度");
this.setPassProgress(true);
} else {
this.setPassProgress(false);
}
}, i * 500); // 间隔0.3秒(300毫秒)调用一次
}
}
setPassProgress(isLast = false) {
setPassProgress() {
Utils.getPassCheckInfo((res) => {
if (res.code === 1) {
@ -1965,35 +1996,60 @@ export default class JiaZai extends cc.Component {
} else {
passCheckData = res.data.passCheck;
}
if (passCheckData[2].time < res.data.time) {
// passCheckData[2].time = res.data.time;
passCheckData[1] = JSON.parse(JSON.stringify(passCheckData[2]));
passCheckData[2] = {
time: res.data.time + 5 * 60 * 1000,
progress: 1,
progressLevel: 1,
activate: false,
free: [],
passCheck: [],
cc.fx.GameConfig.GM_INFO.getItemType = 2;
if (passCheckData == null || passCheckData == "null" || !passCheckData[2] || !passCheckData[2].time) {
// let endTiem = data.data.time + 60 * 24 * 60 * 60 * 1000;
let endTiem = res.data.time + 5 * 60 * 1000;
passCheckData = {
1: {
time: "0",
progress: 0,
progressLevel: 0,
activate: false,
free: [],
passCheck: [],
},
2: {
time: endTiem.toString(),
progress: 0,
progressLevel: 1,
activate: false,
free: [1],
passCheck: [1],
}
}
cc.fx.GameConfig.GM_INFO.getProgress = 0;
cc.fx.GameConfig.GM_INFO.getProgressLevel = 1;
} else {
if (passCheckData[2].time < res.data.time) {
// passCheckData[2].time = res.data.time;
passCheckData[1] = JSON.parse(JSON.stringify(passCheckData[2]));
passCheckData[2] = {
time: res.data.time + 5 * 60 * 1000,
progress: 1,
progressLevel: 1,
activate: false,
free: [],
passCheck: [],
}
cc.fx.GameConfig.GM_INFO.getProgress = 0;
cc.fx.GameConfig.GM_INFO.getProgressLevel = 1;
}
if (Number(passCheckData[2].progressLevel) > 30) {
console.log("进度已满");
passCheckData[2].progressLevel = 30;
passCheckData[2].progress = 4;
return;
}
}
if (Number(passCheckData[2].progressLevel) > 30) {
console.log("进度已满");
passCheckData[2].progressLevel = 30;
passCheckData[2].progress = 4;
return;
}
const passCheckJson = cc.fx.GameConfig.PASS_CHECK;
console.log("设置进度", cc.fx.GameConfig.GM_INFO.getProgress);
cc.fx.GameConfig.GM_INFO.getProgress += 1;
const item = passCheckJson[cc.fx.GameConfig.GM_INFO.getProgressLevel - 1];
console.log("Item值", cc.fx.GameConfig.GM_INFO.getProgressLevel, item.token, item)
console.log("判断", cc.fx.GameConfig.GM_INFO.getProgress, item.token)
if (cc.fx.GameConfig.GM_INFO.getProgress < item.token) {
} else if (cc.fx.GameConfig.GM_INFO.getProgress == item.token) {
cc.fx.GameConfig.GM_INFO.popPassCheck = true;
if (passCheckData && Array.isArray(passCheckData[2].free) && Array.isArray(passCheckData[2].passCheck)) {
// 给数组末尾添加激活状态1
if (passCheckData[2].free.length > 0) {
@ -2014,7 +2070,6 @@ export default class JiaZai extends cc.Component {
}
else {
cc.fx.GameConfig.GM_INFO.getProgressLevel += 1;
cc.fx.GameConfig.GM_INFO.getProgress = 1;
}
@ -2023,7 +2078,6 @@ export default class JiaZai extends cc.Component {
passCheckData[2].progressLevel = cc.fx.GameConfig.GM_INFO.getProgressLevel;
passCheckData[2].progress = cc.fx.GameConfig.GM_INFO.getProgress;
}
console.log("保存的通行证数据", passCheckData);
// 保存更新后的数据
Utils.setPassCheckInfo((result) => {
if (result.code === 1) {
@ -2031,31 +2085,21 @@ export default class JiaZai extends cc.Component {
} else {
// console.log("GameScene 保存通行证失败", result);
}
if (isLast) {
this.checkAndSetPlayerPassLevel();
setTimeout(() => {
MiniGameSdk.API.showToast("添加数据完成");
}, 500);
}
}, passCheckData);
console.log("通行证数据", passCheckData);
} else {
console.log("获取通行证信息失败", res);
// console.log("获取通行证信息失败", res);
}
});
console.log("进度", cc.fx.GameConfig.GM_INFO.getProgressLevel, cc.fx.GameConfig.GM_INFO.getProgress);
// console.log("进度", cc.fx.GameConfig.GM_INFO.getProgressLevel, cc.fx.GameConfig.GM_INFO.getProgress);
}
checkAndSetPlayerPassLevel() {
const currentLevel = cc.fx.GameConfig.GM_INFO.level;
// 判断是否已经记录过playerPassLevel如果没有并且当前等级大于等于21级则记录
console.log("当前等级:", currentLevel, typeof currentLevel)
if (currentLevel >= 20) {
if (currentLevel >= 21) {
cc.fx.GameConfig.GM_INFO.playerPassLevel = currentLevel;
console.log("记录玩家起始关卡:", currentLevel);
let self = this;
Utils.getPassCheckInfo((data) => {
@ -2064,14 +2108,13 @@ export default class JiaZai extends cc.Component {
let top = self.node.getChildByName("Load").getChildByName("Top");
top.getChildByName("passBtn").active = false;
} else {
console.log("获取getpassCheckLv1", data.data.passCheck, typeof data.data.passCheck, data.data.passCheck == "null");
cc.fx.GameConfig.GM_INFO.getItemType = 2;
if (data.data.passCheck == null || data.data.passCheck == "null") {
// let endTiem = data.data.time + 60 * 24 * 60 * 60 * 1000;
let endTiem = data.data.time + 5 * 60 * 1000;
let dataInfo = {
1: {
time: 0,
time: "0",
progress: 0,
progressLevel: 0,
activate: false,
@ -2106,7 +2149,6 @@ export default class JiaZai extends cc.Component {
passCheckLvObj = data.data.passCheck[2];
}
if (!parsedData || !parsedData[1] || !parsedData[1].time || !parsedData[2] || !parsedData[2].time) {
console.log("通行证时间数据不完整,执行清理数据");
self.qinglishuju();
return;
}
@ -2115,19 +2157,15 @@ export default class JiaZai extends cc.Component {
let time2 = Number(parsedData[2].time);
// let allExpire = time2 + 30 * 24 * 60 * 60 * 1000;
// let newTime = serverTime + 60 * 24 * 60 * 60 * 1000;
let allExpire = time2 + 2 * 60 * 1000 + 30 * 1000; // 2 结束后 2分30秒
// let allExpire = time2 + 2 * 60 * 1000 + 30 * 1000; // 2 结束后 2分30秒
// let newTime = serverTime + 5 * 60 * 1000; // 当前期的结束时间
// let outTime = time1 + 2 * 60 * 1000 + 30 * 1000; // 1的清理时间
let allExpire = time2 + 5 * 60 * 1000; // 2 结束后 2分30秒
let newTime = serverTime + 5 * 60 * 1000; // 当前期的结束时间
let outTime = time1 + 2 * 60 * 1000 + 30 * 1000; // 1的清理时间
let outTime = time1 + 5 * 60 * 1000; // 1的清理时间
let now = new Date().getTime();
console.log("服务器" + new Date(serverTime).toLocaleString() + "\n"
+ "所有结束" + new Date(allExpire).toLocaleString() + "\n"
+ "Time1" + new Date(time1).toLocaleString() + "\n"
+ "Time2" + new Date(time2).toLocaleString() + "\n"
+ "当前结束" + new Date(newTime).toLocaleString()
);
console.log("通行证时间判断", serverTime >= allExpire, serverTime >= time2 && serverTime < allExpire, time2 == newTime);
if (serverTime >= allExpire) {
console.log("清理数据 超时进入");
// 清空数据
self.qinglishuju();
return;
@ -2164,12 +2202,10 @@ export default class JiaZai extends cc.Component {
cc.fx.GameConfig.GM_INFO.getProgressLevel = 1;
cc.fx.GameConfig.GM_INFO.getProgress = 1;
cc.fx.StorageMessage.setStorage("ProgressIndex", 1);
console.log("清理数据 过时进入赋值", cc.fx.GameConfig.GM_INFO.getItemType, parsedData);
Utils.setPassCheckInfo(() => { }, parsedData)
return;
} else {
// 清空数据
console.log("清理数据 领完");
self.qinglishuju();
return;
}
@ -2197,20 +2233,9 @@ export default class JiaZai extends cc.Component {
} else {
cc.fx.GameConfig.GM_INFO.getItemType = 2;
}
console.log("清理数据 未到时间", cc.fx.GameConfig.GM_INFO.getItemType, parsedData);
} else {
// parsedData[1] = {
// time: "",
// progress: 0,
// progressLevel: 0,
// activate: false,
// free: [],
// passCheck: [],
// };
cc.fx.GameConfig.GM_INFO.getItemType = 2;
console.log("清理数据 第一期", cc.fx.GameConfig.GM_INFO.getItemType, parsedData);
// Utils.setPassCheckInfo(() => { }, parsedData)
}

View File

@ -2150,103 +2150,6 @@ export default class MapConroler extends cc.Component {
}
}
// setPassProgress() {
// console.log("设置进度", cc.fx.GameConfig.GM_INFO.getProgress);
// cc.fx.GameConfig.GM_INFO.getProgress += 1;
// const passCheckData = cc.fx.GameConfig.PASS_CHECK;
// const item = passCheckData[cc.fx.GameConfig.GM_INFO.getProgressLevel - 1];
// console.log("Item值", cc.fx.GameConfig.GM_INFO.getProgressLevel, item.token, item)
// console.log("判断", cc.fx.GameConfig.GM_INFO.getProgress <= item.token, typeof cc.fx.GameConfig.GM_INFO.getProgress, typeof item.token)
// if (cc.fx.GameConfig.GM_INFO.getProgress < item.token) {
// } else if (cc.fx.GameConfig.GM_INFO.getProgress == item.token) {
// }
// else {
// cc.fx.GameConfig.GM_INFO.getProgressLevel += 1;
// cc.fx.GameConfig.GM_INFO.getProgress = 1;
// // Utils.getPassCheckInfo(() => {
// // console.log("获取setPassCheckInfo");
// // })
// // let data2 = {
// // activate: cc.fx.GameConfig.GM_INFO.passCheckActivate,
// // free: [1],
// // passCheck: [1],
// // }
// // Utils.setPassCheckInfo(() => {
// // console.log("设置setPassCheckInfo");
// // }, data2)
// }
// Utils.getPassCheckInfo((res) => {
// if (res.code === 1) {
// try {
// let passCheckData;
// if (typeof res.data.passCheck === 'string') {
// passCheckData = JSON.parse(res.data.passCheck);
// } else {
// passCheckData = res.data.passCheck;
// }
// let now = new Date().getTime();
// // 确保free和passCheck数组存在
// if (passCheckData && Array.isArray(passCheckData[2].free) && Array.isArray(passCheckData[2].passCheck)) {
// // 给数组末尾添加激活状态1
// if (passCheckData[2].free.length > 0) {
// const lastIndex = cc.fx.GameConfig.GM_INFO.getProgressLevel - 1;
// passCheckData[2].free[lastIndex] = 1;
// } else {
// passCheckData[2].free.push(1);
// }
// // 只有在通行证已激活的情况下才更新passCheck数组
// if (passCheckData[2].passCheck.length > 0) {
// const lastIndex = cc.fx.GameConfig.GM_INFO.getProgressLevel - 1;
// passCheckData[2].passCheck[lastIndex] = 1;
// } else {
// passCheckData[2].passCheck.push(1);
// }
// passCheckData[2].progressLevel = cc.fx.GameConfig.GM_INFO.getProgressLevel;
// passCheckData[2].progress = cc.fx.GameConfig.GM_INFO.getProgress;
// passCheckData[2].time = now.toString();
// // 保存更新后的数据
// Utils.setPassCheckInfo((result) => {
// if (result.code === 1) {
// console.log("GameScene 保存通行证成功");
// } else {
// console.log("GameScene 保存通行证失败", result);
// }
// }, passCheckData);
// }
// } catch (error) {
// console.error("解析通行证数据失败", error);
// }
// } else {
// console.log("获取通行证信息失败", res);
// }
// });
// // let data = {
// // progressLevel: cc.fx.GameConfig.GM_INFO.getProgressLevel,
// // progress: cc.fx.GameConfig.GM_INFO.getProgress
// // }
// // Utils.setPassCheckLv(() => {
// // console.log("设置进度", data);
// // }, data)
// // if (data.progressLevel == 1 && data.progress == 1) {
// // let data2 = {
// // activate: cc.fx.GameConfig.GM_INFO.passCheckActivate,
// // free: [1],
// // passCheck: [1],
// // }
// // Utils.setPassCheckInfo(() => {
// // console.log("设置setPassCheckInfo");
// // }, data2)
// // }
// console.log("进度", cc.fx.GameConfig.GM_INFO.getProgressLevel, cc.fx.GameConfig.GM_INFO.getProgress);
// }
setPassProgress() {
Utils.getPassCheckInfo((res) => {
if (res.code === 1) {
@ -2257,36 +2160,60 @@ export default class MapConroler extends cc.Component {
} else {
passCheckData = res.data.passCheck;
}
if (passCheckData[2].time < res.data.time) {
// passCheckData[2].time = res.data.time;
passCheckData[1] = JSON.parse(JSON.stringify(passCheckData[2]));
passCheckData[2] = {
time: res.data.time + 5 * 60 * 1000,
progress: 1,
progressLevel: 1,
activate: false,
free: [],
passCheck: [],
cc.fx.GameConfig.GM_INFO.getItemType = 2;
if (passCheckData == null || passCheckData == "null" || !passCheckData[2] || !passCheckData[2].time) {
// let endTiem = data.data.time + 60 * 24 * 60 * 60 * 1000;
let endTiem = res.data.time + 5 * 60 * 1000;
passCheckData = {
1: {
time: "0",
progress: 0,
progressLevel: 0,
activate: false,
free: [],
passCheck: [],
},
2: {
time: endTiem.toString(),
progress: 0,
progressLevel: 1,
activate: false,
free: [1],
passCheck: [1],
}
}
cc.fx.GameConfig.GM_INFO.getProgress = 0;
cc.fx.GameConfig.GM_INFO.getProgressLevel = 1;
} else {
if (passCheckData[2].time < res.data.time) {
// passCheckData[2].time = res.data.time;
passCheckData[1] = JSON.parse(JSON.stringify(passCheckData[2]));
passCheckData[2] = {
time: res.data.time + 5 * 60 * 1000,
progress: 1,
progressLevel: 1,
activate: false,
free: [],
passCheck: [],
}
cc.fx.GameConfig.GM_INFO.getProgress = 0;
cc.fx.GameConfig.GM_INFO.getProgressLevel = 1;
}
if (Number(passCheckData[2].progressLevel) > 30) {
console.log("进度已满");
passCheckData[2].progressLevel = 30;
passCheckData[2].progress = 4;
return;
}
}
if (Number(passCheckData[2].progressLevel) > 30) {
return;
}
console.log("设置进度", cc.fx.GameConfig.GM_INFO.getProgress);
cc.fx.GameConfig.GM_INFO.getProgress += 1;
const passCheckJson = cc.fx.GameConfig.PASS_CHECK;
cc.fx.GameConfig.GM_INFO.getProgress += 1;
const item = passCheckJson[cc.fx.GameConfig.GM_INFO.getProgressLevel - 1];
console.log("Item值", cc.fx.GameConfig.GM_INFO.getProgressLevel, item.token, item)
console.log("判断", cc.fx.GameConfig.GM_INFO.getProgress, item.token)
// let now = new Date().getTime();
if (cc.fx.GameConfig.GM_INFO.getProgress < item.token) {
} else if (cc.fx.GameConfig.GM_INFO.getProgress == item.token) {
cc.fx.GameConfig.GM_INFO.popPassCheck = true;
if (passCheckData && Array.isArray(passCheckData[2].free) && Array.isArray(passCheckData[2].passCheck)) {
// 给数组末尾添加激活状态1
if (passCheckData[2].free.length > 0) {
@ -2314,9 +2241,7 @@ export default class MapConroler extends cc.Component {
// 确保free和passCheck数组存在
passCheckData[2].progressLevel = cc.fx.GameConfig.GM_INFO.getProgressLevel;
passCheckData[2].progress = cc.fx.GameConfig.GM_INFO.getProgress;
// passCheckData[2].time = now.toString();
}
console.log("保存的通行证数据", passCheckData);
// 保存更新后的数据
Utils.setPassCheckInfo((result) => {
if (result.code === 1) {
@ -2325,14 +2250,13 @@ export default class MapConroler extends cc.Component {
// console.log("GameScene 保存通行证失败", result);
}
}, passCheckData);
console.log("通行证数据", passCheckData);
} else {
console.log("获取通行证信息失败", res);
// console.log("获取通行证信息失败", res);
}
});
console.log("进度", cc.fx.GameConfig.GM_INFO.getProgressLevel, cc.fx.GameConfig.GM_INFO.getProgress);
// console.log("进度", cc.fx.GameConfig.GM_INFO.getProgressLevel, cc.fx.GameConfig.GM_INFO.getProgress);
}
againLevel() {

View File

@ -126,13 +126,10 @@ export class GameConfig {
wxUserInfo: boolean; //微信用户信息授权
winStreak: number; //连胜次数
winState: boolean; //是否延续连胜状态
// playerPassLevel: number; // 玩家起始关卡
getProgressLevel: number; //获取进度关卡
getProgress: number; //获取进度
getItemType: number; // 领取物品的类型 1 2
// ProgressIndex: number; // 记录玩家当前进入通行证时关卡
// passCheckOpenTime: string; // 通行证开启时间
// passCheckPeriod: number; // 通行证期数
popPassCheck: boolean; // 弹窗通行证
passCheckActivate: boolean; //是否激活通行证
tasks: {}; //任务
};
@ -301,13 +298,10 @@ export class GameConfig {
wxFriend: false, //微信好友信息授权
wxUserInfo: false, //微信用户信息授权
winState: false, //是否延续连胜状态
// playerPassLevel: 0, // 记录玩家起始关卡
getProgressLevel: 1, //获取进度关卡
getProgress: 0, //获取进度
getItemType: 2,
// ProgressIndex: 0, //获取进度索引
// passCheckOpenTime: "", // 通行证开启时间
// passCheckPeriod: 0, // 通行证期数
popPassCheck: false, // 弹窗通行证
passCheckActivate: false,
winStreak: 0, //连胜
tasks: { levelPass: { value: 0, target: 0, state: 0 }, share: { value: 0, target: 0, state: 0 }, useEnergy: { value: 0, target: 0, state: 0 }, useProp: { value: 0, target: 0, state: 0 } }

File diff suppressed because it is too large Load Diff

View File

@ -73,19 +73,6 @@ export default class passCheck extends cc.Component {
this.closetBtn.node.on('click', this.onCloseBtnClick, this);
this.activateBtn.node.on('click', this.onActivateBtnClick, this);
// Utils.POST("login", { code: res.code, isDebug: isDebug, distinctId: cc.fx.GameConfig.GM_INFO.shushu_DistinctId }, ret => {
// console.log("__________请求结果", ret);
// if (!isCallBackCalled) {
// isCallBackCalled = true;
// if (ret.code === 1) { // 假设返回 code 为 1 表示成功
// Utils.openid = ret.data.openid;
// Utils.session_key = ret.data.session_key;
// Utils.uid = ret.data._id;
// }
// callBack(ret);
// }
// });
// this.initPassList();
this.onShowListener = null;
@ -112,7 +99,6 @@ export default class passCheck extends cc.Component {
// let _playerPassLevel = cc.fx.GameConfig.GM_INFO.playerPassLevel
// let getUserLevel = cc.fx.GameConfig.GM_INFO.level;
let passCheck = null;
console.log("通行证里判断", cc.fx.GameConfig.GM_INFO.getItemType, cc.fx.GameConfig.GM_INFO.getItemType == 2);
if (cc.fx.GameConfig.GM_INFO.getItemType == 2) {
this.oldPassCheckInfo = passCheckInfo[1];
passCheck = passCheckInfo[2];
@ -135,18 +121,6 @@ export default class passCheck extends cc.Component {
// this.endTime = passCheck.time + (60 * 24 * 60 * 60 * 1000); // 开始时间 + 60天的毫秒数
this.endTime = passCheck.time;
// this.ProgressIndex = 1;
console.log("检查是否是字符串", passCheck.progressLevel, passCheck);
// 检查是否是字符串,如果是则解析
// if (typeof passCheck1 === 'string') {
// try {
// passCheck1 = JSON.parse(passCheck1);
// // console.log("解析后的 passCheck1:", passCheck1);
// // console.log("解析后的 progressLevel:", passCheck1.progressLevel);
// } catch (e) {
// console.error("JSON 解析失败:", e);
// }
// }
if (typeof passCheck === 'string') {
try {
passCheck = JSON.parse(passCheck);
@ -156,8 +130,6 @@ export default class passCheck extends cc.Component {
console.error("JSON 解析失败:", e);
}
}
console.log("passCheck.progressLevel", passCheck.progressLevel);
console.log("passCheck", passCheck);
this.timeNumber = 0;
this.progressNum1 = passCheck.progress;
if (passCheck.progressLevel > 30) {
@ -167,8 +139,6 @@ export default class passCheck extends cc.Component {
this.progressNum2 = passCheckData[passCheck.progressLevel - 1].token;
let lvNum = passCheck.progressLevel;
// let
console.log("lvNum", this.progressNum1, this.progressNum2);
if (this.progressNum1 == this.progressNum2) {
lvNum += 1;
@ -191,7 +161,6 @@ export default class passCheck extends cc.Component {
NumberToImage.numberToImageNodes(this.progressNum1, 20, 15, "mul", this.progress_1, true);
NumberToImage.numberToImageNodes(this.progressNum2, 20, 15, "mul", this.progress_2, true);
console.log("this.currentLvNum", this.currentLvNum);
cc.fx.GameConfig.GM_INFO.passCheckActivate = passCheck.activate;
// this.barSpr.fillRange = this.progressNum1 / this.progressNum2;
let barSprFillRange = this.progressNum1 / this.progressNum2;
@ -210,7 +179,6 @@ export default class passCheck extends cc.Component {
.delay(time)
.to(time, { fillRange: fillRange })
.call(() => {
console.log("fillRange", reset);
if (reset) {
this.barSpr.fillRange = 0;
if (this.progressNum1 == this.progressNum2) {
@ -238,7 +206,6 @@ export default class passCheck extends cc.Component {
}
// 确保动画按顺序执行
console.log("确保动画按顺序执行", forInt);
for (let j = 0; j < forInt; j++) {
cc.tween(this.barSpr).delay(j * 0.6 + 0.3).call(() => {
if (j == forInt - 1) {
@ -258,27 +225,10 @@ export default class passCheck extends cc.Component {
if (forInt == 0) {
fillRangeFun(1, 0, true);
}
// cc.tween(this.barSpr)
// .delay(time)
// .to(time, { fillRange: 1 })
// .start();
// if (progress == 0) time = 0;
// cc.tween(child.getChildByName("progress").getComponent(cc.Sprite))
// .delay(j * 0.1)
// .to(time, { fillRange: progress })
// .start();
this.setbarNodePosX()
this.initCountDown();
console.log("activateBtn", passCheck.activate);
// 当前关卡的进度 1/4 当前关卡 5
// 当前领取到的关卡 免费 1 激活 2
// 从GameConfig中获取PASS_CHECK数据
this.passListData = [];
// 遍历数据并按照指定格式填充passList
@ -311,7 +261,6 @@ export default class passCheck extends cc.Component {
}
this.onShowList(this.passListData);
console.log("this.passListData", this.passListData);
}
onShowList(data: any) {
@ -378,30 +327,6 @@ export default class passCheck extends cc.Component {
* descriptionBtn事件descriptionNode节点
*/
onDescriptionBtnClick() {
// let setData = {
// uid: cc.fx.GameConfig.GM_INFO.uid,
// action: 'read',
// }
// Utils.POST("passCheck", setData, res => {
// //console.log("获得userLevel数据:", res);
// if (res.code === 1) {
// // console.log("服务器:获得通行证成功", res);
// try {
// const parsedData = JSON.parse(res.data.passCheck);
// console.log("服务器:获得通行证成功", res);
// console.log("parsedData:", parsedData);
// console.log("parsedData[0]:", parsedData.free[0]);
// } catch (error) {
// console.error('解析失败:', error);
// // 可能是对象已被字符串化,需要其他处理方式
// }
// // if (callBack) callBack(res);
// } else {
// console.log("服务器:获得通行证失败", res);
// // if (callBack) callBack(res);
// }
// });
if (this.descriptionNode) {
this.descriptionNode.active = true;
@ -435,16 +360,6 @@ export default class passCheck extends cc.Component {
}
}
this.descriptionNode.active = false;
// event.stopPropagation();
// console.log("descriptionNode点击");
// // 使用动作隐藏节点
// cc.tween(this.descriptionNode)
// .to(0.3, { opacity: 0 })
// .call(() => {
// this.descriptionNode.active = false;
// this.descriptionNode.opacity = 255; // 恢复透明度以便下次使用
// })
// .start();
}, this);
}
@ -840,7 +755,6 @@ export default class passCheck extends cc.Component {
onDestroy() {
// 组件销毁时清除定时器
console.log("界面即将被销毁");
if (this.countdownTimer) {
clearInterval(this.countdownTimer);
this.countdownTimer = null;

View File

@ -54,10 +54,6 @@ export default class PassCheckItem extends cc.Component {
init(data: any, index: number) {
this.data = data;
this.itemIndex = index;
console.log("111111")
this.updateUI();
}
initUI() {
@ -196,9 +192,6 @@ export default class PassCheckItem extends cc.Component {
updateItemInfo(itemID: number, itemNum: number, node: cc.Node, itemData: any) {
// 更新物品信息的UI
// console.log("Item info:", itemID, itemNum);
// 根据物品ID获取对应的图片名称和图集信息
const imageInfo = this.itemImageMap[itemID];
let freeRewardNode = node.getChildByName("freeReward");
let freeReward: cc.Sprite = null;
@ -208,8 +201,6 @@ export default class PassCheckItem extends cc.Component {
}
if (imageInfo) {
// console.log(`Loading image for item ${itemID}: ${imageInfo.imageName} from atlas ${imageInfo.atlas}`);
// 根据图集名称获取对应的图集
let targetAtlas: cc.SpriteAtlas = null;
switch (imageInfo.atlas) {
@ -256,7 +247,6 @@ export default class PassCheckItem extends cc.Component {
}
} else {
// console.log("默认图片");
}
} else {
console.warn(`No image found for item ID: ${itemID}`);
@ -319,7 +309,6 @@ export default class PassCheckItem extends cc.Component {
} else if (digitCount == 3) {
num_x.x = num1.x - offset * num_xWidth;
}
// console.log("digitCount:", digitCount);
}
}
@ -328,7 +317,6 @@ export default class PassCheckItem extends cc.Component {
updateItem(data: any, index: number) {
// 在这里处理数据更新
// console.log("Updating item with data:", data, "at index:", index);
// 你的数据更新逻辑
this.data = data;
this.itemIndex = index;
@ -337,8 +325,6 @@ export default class PassCheckItem extends cc.Component {
// 数据改变时调用
public dataChanged() {
// console.log("Data changed, updating UI");
console.log("222222")
this.updateUI();
}
@ -350,12 +336,7 @@ export default class PassCheckItem extends cc.Component {
protected start() {
// console.log("PassCheckItem component started");
}
// updateListItem(data) {
// console.log("更新列表数据", data)
// }
private onGetRewardClicked(targetNode: cc.Node) {
console.log("领取奖励按钮被点击", targetNode.name);
// 确定是左侧还是右侧的奖励
let isLeftReward = targetNode.name === "leftNode";
@ -374,9 +355,6 @@ export default class PassCheckItem extends cc.Component {
cc.fx.GameTool.getPassCheckPorp(itemId, itemNum, false)
// 更新本地状态
// this.updateLocalRewardState(isLeftReward);
// 更新UI显示
this.updateRewardUIAfterClaim(isLeftReward);
@ -384,17 +362,11 @@ export default class PassCheckItem extends cc.Component {
// 发送统计事件
// this.sendClaimEvent(itemId, itemNum);
const canvasTemp = cc.find("Canvas"); // 假设 Canvas 节点
console.log("领取奖励", canvasTemp.name);
if (canvasTemp) {
const JiaZai = canvasTemp.getComponent("JiaZai");
if (JiaZai) {
console.log("更新主界面数据")
// if (shuju.coin > 0) {
// JiaZai.updateCoin();
// }
// if (shuju.infinite_health > 0) {
// JiaZai.updatePower();
// }
switch (itemId) {
case 1001: // 金币
// this.claimCoins(itemNum);
@ -426,88 +398,6 @@ export default class PassCheckItem extends cc.Component {
}
// 领取金币
// private claimCoins(amount: number) {
// // cc.fx.GameTool.getPassCheckPorp()
// console.log("领取金币:", amount, "当前总金币:", cc.fx.GameConfig.GM_INFO.coin);
// }
// 领取冰冻
// private claimFreezeProp(amount: number) {
// cc.fx.GameConfig.GM_INFO.freezeAmount += amount;
// console.log("领取冰冻道具:", amount, "当前总数:", cc.fx.GameConfig.GM_INFO.freezeAmount);
// // // 更新本地存储
// // cc.fx.StorageMessage.setStorage("freezeAmount", cc.fx.GameConfig.GM_INFO.freezeAmount);
// // // 更新游戏中的道具显示
// // cc.systemEvent.emit('prop-updated', 'freeze', cc.fx.GameConfig.GM_INFO.freezeAmount);
// // const timestamp = Date.now();
// // let propInfo = cc.fx.StorageMessage.getStorage("prop");
// // propInfo.freezeAmount = cc.fx.GameConfig.GM_INFO.freezeAmount;
// // propInfo.timestamp = timestamp;
// // cc.fx.StorageMessage.setStorage("prop", propInfo);
// cc.fx.GameTool.setUserProp(2001, cc.fx.GameConfig.GM_INFO.freezeAmount, (data) => {
// })
// let data = {
// change_reason: "通行证",
// id: "2001",
// num: amount
// }
// cc.fx.GameTool.shushu_Track("resource_cost", data);
// }
//领取锤子道具
// private claimHammerProp(amount: number) {
// cc.fx.GameConfig.GM_INFO.hammerAmount += amount;
// console.log("领取锤子道具:", amount, "当前总数:", cc.fx.GameConfig.GM_INFO.hammerAmount);
// // // 更新本地存储
// // cc.fx.StorageMessage.setStorage("hammerAmount", cc.fx.GameConfig.GM_INFO.hammerAmount);
// // // 更新游戏中的道具显示
// // cc.systemEvent.emit('prop-updated', 'hammer', cc.fx.GameConfig.GM_INFO.hammerAmount);
// cc.fx.GameTool.setUserProp(2002, cc.fx.GameConfig.GM_INFO.hammerAmount, (data) => {
// })
// let data = {
// change_reason: "通行证",
// id: "2002",
// num: amount
// }
// cc.fx.GameTool.shushu_Track("resource_cost", data);
// }
//领取魔棒道具
// private claimMagicProp(amount: number) {
// cc.fx.GameConfig.GM_INFO.magicAmount += amount;
// console.log("领取魔棒道具:", amount, "当前总数:", cc.fx.GameConfig.GM_INFO.magicAmount);
// // // 更新本地存储
// // cc.fx.StorageMessage.setStorage("magicAmount", cc.fx.GameConfig.GM_INFO.magicAmount);
// // // 更新游戏中的道具显示
// // cc.systemEvent.emit('prop-updated', 'magic', cc.fx.GameConfig.GM_INFO.magicAmount);
// cc.fx.GameTool.setUserProp(2002, cc.fx.GameConfig.GM_INFO.magicAmount, (data) => {
// })
// let data = {
// change_reason: "通行证",
// id: "2003",
// num: amount
// }
// cc.fx.GameTool.shushu_Track("resource_cost", data);
// }
// 更新本地奖励状态
// private updateLocalRewardState(isLeftReward: boolean) {
// cc.systemEvent.emit('reward-claimed', this.itemIndex, isLeftReward);
// }
private updateRewardUIAfterClaim(isLeftReward: boolean) {
let targetNode = isLeftReward ?
this.node.getChildByName("leftNode") :
@ -531,35 +421,7 @@ export default class PassCheckItem extends cc.Component {
}
private updateRewardStateOnServer(isLeftReward: boolean) {
console.log("更新奖励状态:", isLeftReward);
// 通知父组件更新服务器数据
// cc.systemEvent.emit('passcheck-reward-claimed', this.itemIndex, isLeftReward);
console.log("更新奖励状态:", isLeftReward);
// 向上循环查找 passCheckMgr 组件最多5次
// let currentNode = this.node;
// let parentCount = 0;
// let passCheckMgr = null;
// for (let i = 0; i < 5; i++) {
// parentCount++;
// if (currentNode.parent) {
// currentNode = currentNode.parent;
// console.log(`查找第${parentCount}层父节点: ${currentNode.name}`);
// // 检查当前节点是否有 passCheckMgr 组件
// passCheckMgr = currentNode.getComponent('passCheckMgr');
// if (passCheckMgr) {
// console.log(`找到 passCheckMgr 组件,需要 ${parentCount} 个 .parent`);
// break;
// }
// } else {
// console.log(`第${parentCount}层父节点不存在`);
// break;
// }
// }
let passCheckMgr = this.node.parent.parent.parent.parent.getComponent('passCheckMgr');
if (passCheckMgr && typeof passCheckMgr.updateRewardStatus === 'function') {

View File

@ -58,14 +58,12 @@ export default class passCheckMgr extends cc.Component {
if (!scrollViewNode) {
console.error("passCheckMgr: Cannot find ScrollView node under this.node");
console.log("Available children:", children.map(child => child.name));
return;
}
// 尝试获取scrollViewList组件如果没有则自动添加
this.list = scrollViewNode.getComponent(scrollViewList);
if (!this.list) {
console.log("passCheckMgr: scrollViewList component not found, adding it now");
this.list = scrollViewNode.addComponent(scrollViewList);
}
@ -167,11 +165,9 @@ export default class passCheckMgr extends cc.Component {
// 获取已保存的进度索引
this.ProgressIndex = cc.fx.StorageMessage.getStorage("ProgressIndex") || 0;
console.log("passCheckMgr: Saved ProgressIndex:", this.ProgressIndex > this.progressLevel, this.ProgressIndex, this.progressLevel, typeof this.ProgressIndex);
if (this.ProgressIndex > this.progressLevel) {
this.ProgressIndex = this.progressLevel;
}
console.log("passCheckMgr: ProgressIndex:", this.ProgressIndex);
const adjustedProgressIndex = Math.max(0, this.progressLevel - 1);
const adjustedStoredIndex = Math.max(0, this.ProgressIndex - 1);
// 计算进度位置
@ -193,14 +189,6 @@ export default class passCheckMgr extends cc.Component {
let growthLength = progressLength2 - progressLength1;
const targetHeight = progressLength1 + growthLength;
console.log("进度条更新:", {
currentLevel: this.progressLevel,
progressIndex1: progressIndex1,
progressIndex2: progressIndex2,
progressLength1: progressLength1,
progressLength2: progressLength2
});
if (growthLength > 0) {
cc.tween(this.progressBar4)
.delay(0.5)
@ -218,29 +206,8 @@ export default class passCheckMgr extends cc.Component {
}
cc.fx.StorageMessage.setStorage("ProgressIndex", this.progressLevel);
}
// ... existing code ...
// updateListItem(data) {
// this.passCheckItem.updateListItem(data);
// }
public updatePassCheckStatus(itemIndex?: number, isLeftReward?: boolean) {
const currentTime = Date.now();
// if (this.isRewardId == itemIndex && this.isLeftReward == isLeftReward) {
// return;
// }
// if (this.isRewardId == itemIndex &&
// this.isLeftReward == isLeftReward) {
// console.log("阻止短时间内重复领取相同奖励:", currentTime - this.lastUpdateTime, "ms");
// return;
// }
// console.log("=======", currentTime, this.lastUpdateTime, this.UPDATE_DELAY)
// console.log("更新数据", this.isRewardId, this.isLeftReward)
// this.lastUpdateTime = currentTime;
// this.isRewardId = itemIndex;
// this.isLeftReward = isLeftReward;
// 如果提供了itemIndex和isLeftReward则更新对应的奖励状态
if (itemIndex !== undefined && isLeftReward !== undefined) {
// 更新本地数据状态
@ -257,8 +224,6 @@ export default class passCheckMgr extends cc.Component {
// 构造要发送到服务器的数据
let now = this.endTime;
// console.log(now.toString());
let passCheck = null;
if (cc.fx.GameConfig.GM_INFO.getItemType == 2) {
passCheck = {
@ -287,8 +252,6 @@ export default class passCheckMgr extends cc.Component {
}
}
console.log("保存数据", passCheck);
// 发送到服务器
Utils.setPassCheckInfo((res) => {
if (res.code === 1) {
@ -312,13 +275,8 @@ export default class passCheckMgr extends cc.Component {
const child = content.children[i];
// 查找 passCheckItem 节点(通常是间接子节点)
if (child.name === "passCheckItem") {
console.log("1111:", child.name);
// const passCheckItemNode = child.getChildByName("passCheckItem");
// if (passCheckItemNode) {
// console.log("2222:");
const passCheckItem = child.getComponent("passCheckItem");
if (passCheckItem) {
console.log("3333:");
passCheckItem.dataChanged();
}
// }
@ -327,14 +285,10 @@ export default class passCheckMgr extends cc.Component {
}
}
}
// private onRewardClaimed = (itemIndex: number, isLeftReward: boolean) => {
// console.log("收到奖励领取事件:", itemIndex, isLeftReward);
// this.updatePassCheckStatus(itemIndex, isLeftReward);
// }
public updateRewardStatus(itemIndex: number, isLeftReward: boolean) {
// this.updatePassCheckStatus(itemIndex, isLeftReward);
const currentTime = Date.now();
console.log("22222222222222222:", itemIndex, isLeftReward);
// 防止短时间内重复触发
if (currentTime - this.lastUpdateTime < this.UPDATE_DELAY) {