refactor(游戏逻辑): 拆分游戏暂停和播放状态的检查条件

将多处 `if(!smc.mission.play || smc.mission.pause)` 条件判断拆分为独立的if语句
在VictoryComp中正确设置pause状态
移除MissionComp中多余的pause状态重置
This commit is contained in:
walkpan
2026-01-03 19:04:41 +08:00
parent b8fb70c0cf
commit e343e26862
12 changed files with 27 additions and 25 deletions

View File

@@ -43,9 +43,8 @@ export class MissionComp extends CCComp {
this.on(GameEvent.ReviveSuccess, this.onReviveSuccess, this)
}
protected update(dt: number): void {
if(!smc.mission.play||smc.mission.pause){
return
}
if(!smc.mission.play) return
if(smc.mission.pause) return
if(smc.mission.in_fight){
smc.vmdata.mission_data.fight_time+=dt
smc.vmdata.mission_data.time-=dt
@@ -188,7 +187,6 @@ export class MissionComp extends CCComp {
// 延迟0.5秒后执行任务结束逻辑
this.scheduleOnce(() => {
smc.mission.play=false
smc.mission.pause=false
this.cleanComponents()
}, 0.5)
}
@@ -197,7 +195,6 @@ export class MissionComp extends CCComp {
// console.log("[MissionComp] mission_end")
// 合并 FightEnd 逻辑:清理组件、停止游戏循环
smc.mission.play=false
smc.mission.pause=false
this.cleanComponents()
this.node.active=false

View File

@@ -60,7 +60,8 @@ export class MissionMonCompComp extends CCComp {
}
protected update(dt: number): void {
if(!smc.mission.play||smc.mission.pause) return
if(!smc.mission.play) return
if(smc.mission.pause) return
// 如果英雄死亡停止怪物行动标志为true则停止刷怪逻辑
if(smc.mission.stop_mon_action) return;

View File

@@ -51,7 +51,7 @@ export class VictoryComp extends CCComp {
this.node.getChildByName("btns").getChildByName("next").active=!args.can_revive
this.node.getChildByName("btns").getChildByName("alive").active=args.can_revive
smc.mission.pause=true
}
@@ -62,7 +62,7 @@ export class VictoryComp extends CCComp {
oops.gui.removeByNode(this.node)
}
clear_data(){
smc.mission.pause=false
}
//看广告双倍
watch_ad(){