- 添加 CombatFailedState 执行路径

- CombatInfoForm 测试异常方法
This commit is contained in:
2026-03-07 18:45:25 +08:00
parent 3badbe9212
commit eb818e6295
12 changed files with 338 additions and 18 deletions
@@ -7,12 +7,10 @@ namespace GeometryTD.CustomComponent
private sealed class CombatFailedState : CombatStateBase
{
private readonly string _errorMessage;
private readonly bool _notifyCombatNode;
public CombatFailedState(CombatScheduler scheduler, string errorMessage, bool notifyCombatNode) : base(scheduler)
public CombatFailedState(CombatScheduler scheduler, string errorMessage) : base(scheduler)
{
_errorMessage = errorMessage;
_notifyCombatNode = notifyCombatNode;
}
public override void OnEnter()
@@ -22,13 +20,14 @@ namespace GeometryTD.CustomComponent
Scheduler._currentLevel != null ? Scheduler._currentLevel.Id : 0,
_errorMessage);
Scheduler._enemyManager.EndPhase();
Scheduler.CleanupAllCombatEntities();
Scheduler.CloseCombatFinishForm();
Scheduler.CloseRewardSelectForm();
if (_notifyCombatNode)
{
Scheduler.GameOverByFailure();
}
Scheduler.OpenCombatFailureDialog(_errorMessage);
}
public override void OnExit()
{
Scheduler.CloseDialogForm();
}
}
}