修改通行证补发逻辑, 修改 addLevel添加无尽关卡 修改随机到没有的关卡 默认+1

This commit is contained in:
huanghaipeng 2026-01-14 16:02:35 +08:00
parent ad67b3d06e
commit 6d320b4f3f
4 changed files with 71 additions and 40 deletions

View File

@ -143,6 +143,7 @@ export default class JiaZai extends cc.Component {
this.specialLevelShow();
}
this.endlessLevelShow();
this.passCheckBuyState();
this.checkAndSetPlayerPassLevel();
// this.checkDailyQuests();
@ -2212,9 +2213,20 @@ export default class JiaZai extends cc.Component {
this.winStreakNode.getComponent("WinStreak").init();
}
}
passCheckBuyState() {
let passCheckActivate = cc.fx.StorageMessage.getStorage("PassCheckActivate");
if (passCheckActivate) {
// 需要补发通行证
this.reissuePaaCheck();
}
}
reissuePaaCheck() {
cc.fx.GameConfig.GM_INFO.passCheckActivate = true;
// 本地缓存一个购买通行证参数 如果没有给服务器发送成功,后续进入再发 过期自动清空
cc.fx.StorageMessage.setStorage("PassCheckActivate", true);
Utils.getPassCheckInfo((res) => {
if (res.code === 1) {
@ -2239,6 +2251,9 @@ export default class JiaZai extends cc.Component {
}
console.log("补发通行证", passCheckData)
Utils.setPassCheckInfo((res) => {
if (res.code === 1) {
cc.fx.StorageMessage.setStorage("PassCheckActivate", null);
}
}, passCheckData)
}
})
@ -2379,6 +2394,7 @@ export default class JiaZai extends cc.Component {
console.log("清空通行证", null);
cc.fx.GameConfig.GM_INFO.playerPassLevel = 0;
cc.fx.StorageMessage.setStorage("ProgressIndex", 0);
cc.fx.StorageMessage.setStorage("PassCheckActivate", null);
}, passCheck)
}

View File

@ -2318,47 +2318,50 @@ export default class MapConroler extends cc.Component {
let overTime = Date.now();
this.count_Time = overTime - this.count_Time;
let endLevelShow = () => {
let levelNum = this.node.parent.parent.getChildByName("Win").getChildByName("tween").getChildByName("endlessNode").getChildByName("levelNum")
NumberToImage.numberToImageNodes(cc.fx.GameConfig.GM_INFO.endLevelNum, 45, 48, "half_black_", levelNum, true);// 45 48
cc.fx.GameTool.setEndLevelLabelPos(levelNum);
if (!cc.fx.GameConfig.GM_INFO.randomLevel || cc.fx.GameConfig.GM_INFO.randomLevel === 0) {
cc.fx.GameConfig.GM_INFO.randomLevel = 31;
}
cc.fx.StorageMessage.setStorage("randomLevel", cc.fx.GameConfig.GM_INFO.randomLevel);
}
console.log("222222222222222", cc.fx.GameTool.maxLevel(), cc.fx.GameConfig.GM_INFO.GameplayType)
if (cc.fx.GameConfig.GM_INFO.otherLevel > 0) {
} else if (cc.fx.GameTool.maxLevel() && cc.fx.GameConfig.GM_INFO.GameplayType == 1) {
if (!cc.fx.GameConfig.GM_INFO.randomLevel || cc.fx.GameConfig.GM_INFO.randomLevel === 0) {
Utils.getEndlessLevel((data) => {
if (data.code == 1) {
cc.fx.GameConfig.GM_INFO.randomLevel = Number(data.data.userLevel) || cc.fx.GameTool.getNextLevel();
cc.fx.GameConfig.GM_INFO.endLevelNum = Number(data.data.endLevelNum) || 1;
console.log("获取无尽模式等级成功", cc.fx.GameConfig.GM_INFO.randomLevel, data);
} else {
cc.fx.GameConfig.GM_INFO.randomLevel = cc.fx.GameTool.getNextLevel() || 0;
cc.fx.GameConfig.GM_INFO.endLevelNum = 1;
}
endLevelShow();
});
} else {
cc.fx.GameConfig.GM_INFO.randomLevel = cc.fx.GameTool.getNextLevel();
endLevelShow();
cc.fx.GameConfig.GM_INFO.endLevelNum = cc.fx.GameConfig.GM_INFO.endLevelNum + 1;
cc.fx.StorageMessage.setStorage("endLevelNum", cc.fx.GameConfig.GM_INFO.endLevelNum);
console.log("无尽模式保存下一关等级:", cc.fx.GameConfig.GM_INFO.randomLevel, cc.fx.GameConfig.GM_INFO.endLevelNum);
Utils.setEndlessLevel(() => { }, cc.fx.GameConfig.GM_INFO.randomLevel, cc.fx.GameConfig.GM_INFO.endLevelNum);
}
}
else cc.fx.GameTool.addLevel(this.count_Time, this.add_Time, (data) => {
let endLevelShow = () => {
let levelNum = this.node.parent.parent.getChildByName("Win").getChildByName("tween").getChildByName("endlessNode").getChildByName("levelNum")
NumberToImage.numberToImageNodes(cc.fx.GameConfig.GM_INFO.endLevelNum, 45, 48, "half_black_", levelNum, true);// 45 48
cc.fx.GameTool.setEndLevelLabelPos(levelNum);
if (!cc.fx.GameConfig.GM_INFO.randomLevel || cc.fx.GameConfig.GM_INFO.randomLevel === 0) {
cc.fx.GameConfig.GM_INFO.randomLevel = 31;
}
cc.fx.StorageMessage.setStorage("randomLevel", cc.fx.GameConfig.GM_INFO.randomLevel);
}
console.log("222222222222222", cc.fx.GameTool.maxLevel(), cc.fx.GameConfig.GM_INFO.GameplayType)
// if (cc.fx.GameTool.maxLevel() && cc.fx.GameConfig.GM_INFO.GameplayType == 1) {
if (cc.fx.GameTool.maxLevel() && cc.fx.GameConfig.GM_INFO.GameplayType == 1) {
if (!cc.fx.GameConfig.GM_INFO.randomLevel || cc.fx.GameConfig.GM_INFO.randomLevel === 0) {
Utils.getEndlessLevel((data) => {
if (data.code == 1) {
cc.fx.GameConfig.GM_INFO.randomLevel = Number(data.data.userLevel) || cc.fx.GameTool.getNextLevel();
cc.fx.GameConfig.GM_INFO.endLevelNum = Number(data.data.endLevelNum) || 1;
console.log("获取无尽模式等级成功", cc.fx.GameConfig.GM_INFO.randomLevel, data);
} else {
cc.fx.GameConfig.GM_INFO.randomLevel = cc.fx.GameTool.getNextLevel() || 0;
cc.fx.GameConfig.GM_INFO.endLevelNum = 1;
}
endLevelShow();
});
} else {
cc.fx.GameConfig.GM_INFO.randomLevel = cc.fx.GameTool.getNextLevel();
endLevelShow();
cc.fx.GameConfig.GM_INFO.endLevelNum = cc.fx.GameConfig.GM_INFO.endLevelNum + 1;
cc.fx.StorageMessage.setStorage("endLevelNum", cc.fx.GameConfig.GM_INFO.endLevelNum);
console.log("无尽模式保存下一关等级:", cc.fx.GameConfig.GM_INFO.randomLevel, cc.fx.GameConfig.GM_INFO.endLevelNum);
Utils.setEndlessLevel(() => { }, cc.fx.GameConfig.GM_INFO.randomLevel, cc.fx.GameConfig.GM_INFO.endLevelNum);
}
}
// console.log("加分后排行结果", data);
if (data.code == 1) {
if (data.data.rank != -1) {

View File

@ -136,7 +136,8 @@ export class GameConfig {
getProgressLevel: number; //获取进度关卡
getProgress: number; //获取进度
getItemType: number; popPassCheck: boolean; // 弹窗通行证
passCheckActivate: boolean; winStreak: number; //连胜
passCheckActivate: boolean;
winStreak: number; //连胜
tasks: { levelPass: { value: number; target: number; state: number; }; share: { value: number; target: number; state: number; }; useEnergy: { value: number; target: number; state: number; }; useProp: { value: number; target: number; state: number; }; }; addLevel: number; //每日过关数
address: string; //用户城市信息
firstTime: number; //用户注册时间
@ -443,7 +444,13 @@ export class GameConfig {
if (err) {
console.log("______________没有这个关卡:", name);
cc.fx.GameTool.addLevel(null, null, null);
self.LEVEL_INFO_init(type, time, false);
if (endless) {
cc.fx.GameConfig.GM_INFO.randomLevel = cc.fx.GameConfig.GM_INFO.randomLevel + 1;
cc.fx.GameConfig.LEVEL_INFO_init(type, time, false, true);
} else {
self.LEVEL_INFO_init(type, time, false);
}
return;
}
let jsonData: object = res.json!;

View File

@ -359,7 +359,12 @@ var GameTool = {
//增加关卡数
addLevel(time1, time2, callBack) {
cc.fx.GameConfig.GM_INFO.level += 1;
if (cc.fx.GameTool.maxLevel()) {
} else {
cc.fx.GameConfig.GM_INFO.level += 1;
}
cc.fx.GameTool.maxLevel()
MiniGameSdk.API.setNewCloudlevel();
const timestamp = Date.now();